# HG changeset patch # User gthomas # Date 1047003292 0 # Node ID c16ef62116ec2c7a9a7e3c091989f425a410b4d0 # Parent efcbb31fcc578c957d272ea3cee26277ca627f8f Fix getaddrinfo() diff --git a/packages/net/common/current/ChangeLog b/packages/net/common/current/ChangeLog --- a/packages/net/common/current/ChangeLog +++ b/packages/net/common/current/ChangeLog @@ -1,3 +1,8 @@ +2003-03-06 Gary Thomas + + * src/getaddrinfo.c: Need to clear any addresses - malloc() can + return garbage which the stack desn't like. + 2003-03-05 Gary Thomas * src/getaddrinfo.c: Allow getaddrinfo() to use DNS gethostbyXXX() diff --git a/packages/net/common/current/src/getaddrinfo.c b/packages/net/common/current/src/getaddrinfo.c --- a/packages/net/common/current/src/getaddrinfo.c +++ b/packages/net/common/current/src/getaddrinfo.c @@ -8,6 +8,7 @@ //####ECOSPDCOPYRIGHTBEGIN#### // // Copyright (C) 2000, 2001, 2002 Red Hat, Inc. +// Copyright (C) 2003 Gary Thomas // All Rights Reserved. // // Permission is granted to use, copy, modify and redistribute this @@ -54,6 +55,7 @@ static int { struct sockaddr_in *sa; sa = (struct sockaddr_in *)malloc(sizeof(struct sockaddr_in)); + memset(sa, 0, sizeof(*sa)); ai->ai_addr = (struct sockaddr *)sa; ai->ai_addrlen = sizeof(*sa); if (ai->ai_addr == (struct sockaddr *)NULL) { @@ -86,6 +88,7 @@ static int { struct sockaddr_in6 *sa; sa = (struct sockaddr_in6 *)malloc(sizeof(struct sockaddr_in6)); + memset(sa, 0, sizeof(*sa)); ai->ai_addr = (struct sockaddr *)sa; ai->ai_addrlen = sizeof(*sa); if (ai->ai_addr == (struct sockaddr *)NULL) {