From: Havoc Pennington Date: Wed, 2 Apr 2003 21:52:38 +0000 (+0000) Subject: 2003-04-02 Havoc Pennington X-Git-Tag: dbus-0.7~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=21cef58bc1b46ba4d5e7371463920c7744904d32;p=platform%2Fupstream%2Fdbus.git 2003-04-02 Havoc Pennington * dbus/dbus-string.c (set_length): fix a bug - we allocated max of current alloc and needed new length, not max of the doubled allocation and needed new length. Also, when building tests, don't do the double-allocation stuff, just realloc every time. --- diff --git a/ChangeLog b/ChangeLog index e72e8a6..2340ba9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2003-04-02 Havoc Pennington + * dbus/dbus-string.c (set_length): fix a bug - we allocated max of + current alloc and needed new length, not max of the doubled + allocation and needed new length. Also, when building tests, + don't do the double-allocation stuff, just realloc every time. + +2003-04-02 Havoc Pennington + * dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames in error messages (_dbus_string_get_dirname): new diff --git a/dbus/dbus-string.c b/dbus/dbus-string.c index dd5781f..0bd754b 100644 --- a/dbus/dbus-string.c +++ b/dbus/dbus-string.c @@ -361,8 +361,17 @@ set_length (DBusRealString *real, else new_allocated = real->allocated * 2; + /* if you change the code just above here, run the tests without + * the following before you commit + */ +#ifdef DBUS_BUILD_TESTS + new_allocated = 0; /* ensure a realloc every time so that we go + * through all malloc failure codepaths + */ +#endif + /* But be sure we always alloc at least space for the new length */ - new_allocated = MAX (real->allocated, new_length + ALLOCATION_PADDING); + new_allocated = MAX (new_allocated, new_length + ALLOCATION_PADDING); new_str = dbus_realloc (real->str - real->align_offset, new_allocated); if (new_str == NULL)