diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2003-01-01 19:06:35 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2003-01-01 19:06:35 +0000 |
commit | c0c92e12bd043a8a8e6b99df0ae43ced3f945569 (patch) | |
tree | 44794c90580a4adbbe5aaa2bf76b5d1bbfe9d621 /net/gaim/files | |
parent | 9189f18b2995f913780315cc18c856e8ea6c3b21 (diff) |
Notes
Diffstat (limited to 'net/gaim/files')
-rw-r--r-- | net/gaim/files/patch-src_protocols_yahoo_yahoo.c | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/net/gaim/files/patch-src_protocols_yahoo_yahoo.c b/net/gaim/files/patch-src_protocols_yahoo_yahoo.c deleted file mode 100644 index f538f5c4ba62..000000000000 --- a/net/gaim/files/patch-src_protocols_yahoo_yahoo.c +++ /dev/null @@ -1,49 +0,0 @@ -This patch fixes a segfault that can occur when a Yahoo user receives new -mail. This patch is from gaim CVS, and will be integrated in the next -release. - ---- src/protocols/yahoo/yahoo.c 2002/11/12 00:50:21 1.43.2.7 -+++ src/protocols/yahoo/yahoo.c 2002/11/23 18:50:47 1.43.2.8 -@@ -259,19 +259,20 @@ - pair->key = strtol(key, NULL, 10); - accept = x; /* if x is 0 there was no key, so don't accept it */ - -- if (accept) -+ if (len - pos + 1 <= 0) { -+ /* Truncated. Garbage or something. */ -+ accept = 0; -+ } -+ -+ if (accept) { - value = g_malloc(len - pos + 1); -- x = 0; -- while (pos + 1 < len) { -- if (data[pos] == 0xc0 && data[pos + 1] == 0x80) -- break; -- if (accept) -+ x = 0; -+ while (pos + 1 < len) { -+ if (data[pos] == 0xc0 && data[pos + 1] == 0x80) -+ break; - value[x++] = data[pos++]; -- } -- if (accept) -+ } - value[x] = 0; -- pos += 2; -- if (accept) { - pair->value = g_strdup(value); - g_free(value); - pkt->hash = g_slist_append(pkt->hash, pair); -@@ -279,6 +280,11 @@ - } else { - g_free(pair); - } -+ pos += 2; -+ -+ /* Skip over garbage we've noticed in the mail notifications */ -+ if (data[0] == '9' && data[pos] == 0x01) -+ pos++; - } - } - |