Skip to content

Commit

Permalink
Update.
Browse files Browse the repository at this point in the history
2003-06-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't leak memory
	from getifaddr calls.
  • Loading branch information
Ulrich Drepper committed Jun 10, 2003
1 parent 54c9246 commit 06120d7
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 11 deletions.
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
2003-06-10 Ulrich Drepper <drepper@redhat.com>

* sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't leak memory
from getifaddr calls.

2003-06-09 Jakub Jelinek <jakub@redhat.com>

* sysdeps/unix/sysv/linux/kernel-features.h
Expand Down
6 changes: 6 additions & 0 deletions nptl/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
2003-06-10 Ulrich Drepper <drepper@redhat.com>

* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
(__pthread_cond_signal): Remove incorrect second addition for
cond_lock!=0.

2003-06-09 Ulrich Drepper <drepper@redhat.com>

* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
Expand Down
7 changes: 1 addition & 6 deletions nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
Original file line number Diff line number Diff line change
Expand Up @@ -116,12 +116,7 @@ __pthread_cond_signal:
jmp 2b

/* Unlock in loop requires wakeup. */
5:
#if cond_lock == 0
movl %edi, %eax
#else
leal cond_lock(%edi), %eax
#endif
5: movl %edi, %eax
call __lll_mutex_unlock_wake
jmp 6b

Expand Down
11 changes: 6 additions & 5 deletions sysdeps/posix/getaddrinfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -930,7 +930,7 @@ getaddrinfo (const char *name, const char *service,
XXX We are using getifaddrs here which is more costly than
it is really necessary. Once things are stable we will have
a special function which performs the task with less overhead. */
struct ifaddrs* ifa = NULL;
struct ifaddrs *ifa = NULL;

if (getifaddrs (&ifa) != 0)
/* Cannot get the interface list, very bad. */
Expand All @@ -939,14 +939,15 @@ getaddrinfo (const char *name, const char *service,
bool seen_ipv4 = false;
bool seen_ipv6 = false;

while (ifa != NULL)
struct ifaddrs *runp = ifa;
while (runp != NULL)
{
if (ifa->ifa_addr->sa_family == PF_INET)
if (runp->ifa_addr->sa_family == PF_INET)
seen_ipv4 = true;
else if (ifa->ifa_addr->sa_family == PF_INET6)
else if (runp->ifa_addr->sa_family == PF_INET6)
seen_ipv6 = true;

ifa = ifa->ifa_next;
runp = runp->ifa_next;
}

(void) freeifaddrs (ifa);
Expand Down

0 comments on commit 06120d7

Please sign in to comment.