git.annexia.org
/
libguestfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Create /sys directory if it doesn't exist already.
[libguestfs.git]
/
src
/
appliance.c
diff --git
a/src/appliance.c
b/src/appliance.c
index
5683882
..
822fe77
100644
(file)
--- a/
src/appliance.c
+++ b/
src/appliance.c
@@
-240,7
+240,7
@@
calculate_supermin_checksum (guestfs_h *g, const char *supermin_path)
return NULL;
}
return NULL;
}
- if (pclose (pp)
== -1
) {
+ if (pclose (pp)
!= 0
) {
warning (g, "pclose: %m");
return NULL;
}
warning (g, "pclose: %m");
return NULL;
}
@@
-401,6
+401,12
@@
check_for_cached_appliance (guestfs_h *g,
/* Releases the lock on checksum. */
if (close (fd) == -1) {
perrorf (g, "close");
/* Releases the lock on checksum. */
if (close (fd) == -1) {
perrorf (g, "close");
+ /* Allocated in hard_link_to_cached_appliance above, must be
+ * freed along this error path.
+ */
+ free (*kernel);
+ free (*initrd);
+ free (*appliance);
return -1;
}
return -1;
}
@@
-539,6
+545,12
@@
build_supermin_appliance (guestfs_h *g,
/* Releases the lock on checksum. */
if (close (fd) == -1) {
perrorf (g, "close");
/* Releases the lock on checksum. */
if (close (fd) == -1) {
perrorf (g, "close");
+ /* Allocated in hard_link_to_cached_appliance above, must be
+ * freed along this error path.
+ */
+ free (*kernel);
+ free (*initrd);
+ free (*appliance);
return -1;
}
return -1;
}