diff -Naur cupsys-1.1.19final.orig/scheduler/dirsvc.c cupsys-1.1.19final/scheduler/dirsvc.c --- cupsys-1.1.19final.orig/scheduler/dirsvc.c Mon May 12 22:51:53 2003 +++ cupsys-1.1.19final/scheduler/dirsvc.c Tue Sep 21 09:37:11 2004 @@ -1057,7 +1057,7 @@ int auth; /* Authorization status */ int len; /* Length of name string */ int bytes; /* Number of bytes left */ - char packet[1540], /* Broadcast packet */ + char packet[1541], /* Broadcast packet */ *pptr; /* Pointer into packet */ struct sockaddr_in srcaddr; /* Source address */ char srcname[1024]; /* Source hostname */ @@ -1082,8 +1082,8 @@ */ len = sizeof(srcaddr); - if ((bytes = recvfrom(BrowseSocket, packet, sizeof(packet), 0, - (struct sockaddr *)&srcaddr, &len)) <= 0) + if ((bytes = recvfrom(BrowseSocket, packet, sizeof(packet)-1, 0, + (struct sockaddr *)&srcaddr, &len)) < 0) { /* * "Connection refused" is returned under Linux if the destination port