diff options
author | Jim Meyering <meyering@redhat.com> | 2009-07-01 15:45:01 +0200 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2009-07-01 16:30:46 +0200 |
commit | 202e11543ead0d21a8485879654c927ec95ea7f0 (patch) | |
tree | de49e943c99a675777b4cf7ffca638f1e40b3619 /src | |
parent | e909c5e31f6b60e68220177b5cd5e81cfacb8d0d (diff) | |
download | libguestfs-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.
Diffstat (limited to 'src')
-rw-r--r-- | src/guestfs.c | 4 |
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); |