]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
uml_driver.c: avoid leak upon failure
authorJim Meyering <meyering@redhat.com>
Mon, 15 Feb 2010 18:22:38 +0000 (19:22 +0100)
committerJim Meyering <meyering@redhat.com>
Tue, 16 Feb 2010 16:49:05 +0000 (17:49 +0100)
* src/uml/uml_driver.c (umlMonitorCommand): This function would
sometimes return -1, yet fail to free the "reply" it had allocated.
Hence, no caller would know to free the corresponding argument.
When returning -1, be sure to free all allocated resources.

src/uml/uml_driver.c

index 5049c929191c883880b2dc81c78aaec824efd865..10268dbbdc8f0f09b15e7a05ce6759b507876486 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * uml_driver.c: core driver methods for managing UML guests
  *
- * Copyright (C) 2006, 2007, 2008, 2009 Red Hat, Inc.
+ * Copyright (C) 2006-2010 Red Hat, Inc.
  * Copyright (C) 2006-2008 Daniel P. Berrange
  *
  * This library is free software; you can redistribute it and/or
@@ -757,7 +757,10 @@ static int umlMonitorCommand(virConnectPtr conn,
 
     VIR_DEBUG("Command reply is '%s'", NULLSTR(retdata));
 
-    *reply = retdata;
+    if (ret < 0)
+        VIR_FREE(retdata);
+    else
+        *reply = retdata;
 
     return ret;