[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(usagi-users 00906) libinet6 && getifaddrs && alpha
- To: usagi-users@xxxxxxxxxxxxxx
- Subject: (usagi-users 00906) libinet6 && getifaddrs && alpha
- From: Arkadiusz Miskiewicz <misiek@xxxxxxxxxx>
- Date: 22 Oct 2001 11:26:31 +0200
- Organization: Polish(ed) Linux Distribution Team
- Reply-to: usagi-users@xxxxxxxxxxxxxx
- Sender: misiek@xxxxxxxxxxxxxxxxxxxxxx
- User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Artificial Intelligence)
Hi,
On our alpha getifaddrs() after many reallocs was trying to allocate
buff of size 4GB.
Jakub Bogusz <qboosh@xxxxxxxxxx> was debugging this and here is his
fix against 20010420 snap:
diff -Nur libinet6.orig/ifaddrs.c libinet6/ifaddrs.c
--- libinet6.orig/ifaddrs.c Fri Apr 20 15:24:56 2001
+++ libinet6/ifaddrs.c Thu Oct 18 15:05:39 2001
@@ -233,10 +233,11 @@
pid_t pid = getpid();
for (;;){
void *newbuff = realloc(buff, bufsize);
- if (newbuff == NULL){
+ if (newbuff == NULL || !bufsize){
if (buff){
int saved_errno = errno;
free(buff);
+ buff=NULL;
__set_errno(saved_errno);
}
result = -1;
--
Arkadiusz Miśkiewicz IPv6 ready PLD Linux at http://www.pld.org.pl
misiek(at)pld.org.pl AM2-6BONE, 1024/3DB19BBD, arekm(at)ircnet, PWr