]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
Fix memory leak in _dbus_win_set_error_from_win_error().
authorRalf Habacker <ralf.habacker@freenet.de>
Wed, 11 Nov 2015 14:02:44 +0000 (15:02 +0100)
committerRalf Habacker <ralf.habacker@freenet.de>
Wed, 11 Nov 2015 14:02:44 +0000 (15:02 +0100)
There is no need to make a local (leaked) copy of the message,
because dbus_set_error() already makes a copy of its parameters.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92721
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
dbus/dbus-sysdeps-win.c

index e626cc6569ae6e2a46877eb37bee5bdc3394e6a7..61da703b3cd4979ad23948d71e040519af65adc7 100644 (file)
@@ -3610,13 +3610,8 @@ _dbus_win_set_error_from_win_error (DBusError *error,
                   (LPSTR) &msg, 0, NULL);
   if (msg)
     {
-      char *msg_copy;
-
-      msg_copy = dbus_malloc (strlen (msg));
-      strcpy (msg_copy, msg);
+      dbus_set_error (error, "win32.error", "%s", msg);
       LocalFree (msg);
-
-      dbus_set_error (error, "win32.error", "%s", msg_copy);
     }
   else
     dbus_set_error (error, "win32.error", "Unknown error code %d or FormatMessage failed", code);