summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2009-07-01 15:45:01 +0200
committerJim Meyering <meyering@redhat.com>2009-07-01 16:30:46 +0200
commit202e11543ead0d21a8485879654c927ec95ea7f0 (patch)
treede49e943c99a675777b4cf7ffca638f1e40b3619
parente909c5e31f6b60e68220177b5cd5e81cfacb8d0d (diff)
downloadlibguestfs-202e11543ead0d21a8485879654c927ec95ea7f0.tar.gz
libguestfs-202e11543ead0d21a8485879654c927ec95ea7f0.tar.xz
libguestfs-202e11543ead0d21a8485879654c927ec95ea7f0.zip
Don't dereference or free undefined "msg" upon OOM.
* src/guestfs.c (guestfs_error): Handle failing vasprintf.
-rw-r--r--src/guestfs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/guestfs.c b/src/guestfs.c
index 5743a071..87b0d864 100644
--- a/src/guestfs.c
+++ b/src/guestfs.c
@@ -404,9 +404,11 @@ guestfs_error (guestfs_h *g, const char *fs, ...)
char *msg;
va_start (args, fs);
- vasprintf (&msg, fs, args);
+ int err = vasprintf (&msg, fs, args);
va_end (args);
+ if (err < 0) return;
+
if (g->error_cb) g->error_cb (g, g->error_cb_data, msg);
set_last_error (g, msg);