summaryrefslogtreecommitdiff
path: root/lib/cpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/cpio.c')
-rw-r--r--lib/cpio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/cpio.c b/lib/cpio.c
index b77b30886..958c12308 100644
--- a/lib/cpio.c
+++ b/lib/cpio.c
@@ -41,7 +41,7 @@ rpmcpio_t rpmcpioOpen(FD_t fd, char mode)
return NULL;
rpmcpio_t cpio = xcalloc(1, sizeof(*cpio));
- cpio->fd = fd;
+ cpio->fd = fdLink(fd);
cpio->mode = mode;
cpio->offset = 0;
return cpio;
@@ -327,6 +327,7 @@ int rpmcpioClose(rpmcpio_t cpio)
if ((cpio->mode & O_ACCMODE) == O_WRONLY) {
rc = rpmcpioTrailerWrite(cpio);
}
+ fdFree(cpio->fd);
_free(cpio);
return rc;
}