Title: [PATCH] memory leak + error handling glitch in gnome-keyring-proto.c:gnome_keyring_proto_decode_find_reply gboolean gnome_keyring_proto_decode_find_reply (GkrBuffer *buffer, GnomeKeyringResult *result, GList **list_out) { ... if (!gnome_keyring_proto_get_utf8_string (buffer, offset, &offset, &found->keyring)) { } if (!gnome_keyring_proto_get_uint32 (buffer, offset, &offset, &found->item_id)) { return FALSE; } if (!gnome_keyring_proto_get_utf8_secret (buffer, offset, &offset, &found->secret)) { goto bail; } ... [http://svn.gnome.org/viewcvs/gnome-keyring/trunk/library/gnome-keyring-proto.c?revision=655&view=markup] => latest (655) trunk is affected -- diff -u gnome-keyring-2.19.4.1/debian/changelog gnome-keyring-2.19.4.1/debian/changelog --- gnome-keyring-2.19.4.1/debian/changelog +++ gnome-keyring-2.19.4.1/debian/changelog @@ -1,3 +1,12 @@ +gnome-keyring (2.19.4.1-0ubuntu2) gutsy; urgency=low + + * library/gnome-keyring-proto.c: fix broken error flow for + !gnome_keyring_proto_get_utf8_string(...) case as well as + memory leak for gnome_keyring_proto_get_uint32 error case + in gnome_keyring_proto_decode_find_reply. + + -- Alexander Sack Tue, 19 Jun 2007 09:08:35 +0200 + gnome-keyring (2.19.4.1-0ubuntu1) gutsy; urgency=low * New upstream version: only in patch2: unchanged: --- gnome-keyring-2.19.4.1.orig/library/gnome-keyring-proto.c +++ gnome-keyring-2.19.4.1/library/gnome-keyring-proto.c @@ -1116,9 +1116,10 @@ if (!gnome_keyring_proto_get_utf8_string (buffer, offset, &offset, &found->keyring)) { + goto bail; } if (!gnome_keyring_proto_get_uint32 (buffer, offset, &offset, &found->item_id)) { - return FALSE; + goto bail; } if (!gnome_keyring_proto_get_utf8_secret (buffer, offset, &offset,