diff --git a/qcow.c b/qcow.c index 6d847d0..f628736 100644 --- a/qcow.c +++ b/qcow.c @@ -279,8 +279,10 @@ static void *qcow1_read_header(int fd) if (!header) return NULL; - if (pread_in_full(fd, &f_header, sizeof(struct qcow1_header_disk), 0) < 0) + if (pread_in_full(fd, &f_header, sizeof(struct qcow1_header_disk), 0) < 0) { + free(header); return NULL; + } be32_to_cpus(&f_header.magic); be32_to_cpus(&f_header.version);