ports/73861: segfault on jabber-yahoo-2.3.2

Trejkaz Xaoza trejkaz at xaoza.net
Fri Nov 12 10:50:34 UTC 2004


>Number:         73861
>Category:       ports
>Synopsis:       segfault on jabber-yahoo-2.3.2
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 12 10:50:33 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Trejkaz Xaoza
>Release:        unsure (hosting box)
>Organization:
Individual
>Environment:
FreeBSD mail.zim.com.au 5.2.1-RELEASE-p9 FreeBSD 5.2.1-RELEASE-p9 #0: Fri Aug 13 01:12:37 GMT 2004     mark at mail.zim.com.au:/usr/obj/usr/src/sys/GENERIC  i386

>Description:
There is a segfault issue in the current Yahoo Transport which is expected to be fixed in the next version.

>How-To-Repeat:
The server exhibits the problem by itself, given enough time.  It's somehow related to a malformed presence packet from certain clients.
>Fix:
Patch:

--- yahoo.c.orig 2004-07-27 15:00:19.538066636 -0700
+++ yahoo.c 2004-07-27 15:01:11.391272012 -0700
@@ -224 , 6 +224 , 7 @@
GSList *l;

int len = 0;
+ char *fix;

l = pkt->hash;
while (l) {
@@ -234 , 7 +235 , 15 @@
len++;
} while (tmp);
len += 2;
- len += strlen(pair->value);
+ if (pair->value == NULL) {
+
+ fix = malloc(1);
+ *fix = 0;
+ pair->value = fix;
+
+ log_debug(ZONE , " [YAHOO]: Corrected Key Now: %d tValue: %sn " , pair->key , pair->value);
+ }
+ len += pair->value == NULL ? 0 : strlen(pair->value);
len += 2;
l = l->next;
}

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list