From e18ae2a8f5447d5f33de2af8a1c604bf0be986c3 Mon Sep 17 00:00:00 2001 From: Tikhomirov Pavel Date: Thu, 6 Feb 2014 11:22:00 +0400 Subject: [PATCH] page-xfer: add proper initialization and deletion of xfer->parent Signed-off-by: Tikhomirov Pavel Signed-off-by: Pavel Emelyanov --- page-xfer.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/page-xfer.c b/page-xfer.c index f5db8ac1a..2efbc5c93 100644 --- a/page-xfer.c +++ b/page-xfer.c @@ -557,6 +557,11 @@ static int write_pagehole_loc(struct page_xfer *xfer, struct iovec *iov) static void close_page_xfer(struct page_xfer *xfer) { + if (xfer->parent != NULL) { + xfer->parent->close(xfer->parent); + xfree(xfer->parent); + xfer->parent = NULL; + } close(xfer->fd_pg); close(xfer->fd); } @@ -640,6 +645,8 @@ static int open_page_local_xfer(struct page_xfer *xfer, int fd_type, long id) int ret; int pfd; + xfer->parent = NULL; + pfd = openat(get_service_fd(IMG_FD_OFF), CR_PARENT_LINK, O_RDONLY); if (pfd < 0 && errno == ENOENT) goto out;