[prev in list] [next in list] [prev in thread] [next in thread]
List: freedesktop-dbus
Subject: Re: dbus_connection_send_with_reply_and_block and errors
From: Timo Teräs <timo.teras () nokia ! com>
Date: 2005-08-09 20:44:26
Message-ID: 42F915AA.1020508 () nokia ! com
[Download RAW message or body]
ext Havoc Pennington wrote:
> Hi,
>
> Thanks, this looks good, missing a couple spaces-before-parens:
Oh yeah, forgot that. I usually code kernel style. Fixed that.
>>- _dbus_string_free (&str);
>
> Sure you should remove this?
I just moved it a bit upwards to handle propely the OOM case of
_dbus_strdup().
- Timo
["dbus-error-v2.patch" (text/plain)]
Index: dbus/dbus-errors.c
===================================================================
RCS file: /cvs/dbus/dbus/dbus/dbus-errors.c,v
retrieving revision 1.27
diff -u -r1.27 dbus-errors.c
--- dbus/dbus-errors.c 10 Aug 2004 03:06:59 -0000 1.27
+++ dbus/dbus-errors.c 9 Aug 2005 18:56:18 -0000
@@ -180,7 +180,10 @@
real = (DBusRealError *)error;
if (!real->const_message)
- dbus_free (real->message);
+ {
+ dbus_free (real->name);
+ dbus_free (real->message);
+ }
dbus_error_init (error);
}
@@ -306,7 +309,7 @@
* @todo should be called dbus_error_set()
*
* @param error the error.
- * @param name the error name (not copied!!!)
+ * @param name the error name
* @param format printf-style format string.
*/
void
@@ -359,12 +362,17 @@
_dbus_string_free (&str);
goto nomem;
}
+ _dbus_string_free (&str);
- real->name = name;
+ real->name = _dbus_strdup (name);
+ if (real->name == NULL)
+ {
+ dbus_free (real->message);
+ real->message = NULL;
+ goto nomem;
+ }
real->const_message = FALSE;
- _dbus_string_free (&str);
-
return;
nomem:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic