From: Ulrich Drepper Date: Wed, 12 Feb 2003 07:44:59 +0000 (+0000) Subject: Update. X-Git-Tag: upstream/2.20~13135 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=969c9da7f7891a041c157a3b2139e92fa823f9f8;p=platform%2Fupstream%2Flinaro-glibc.git Update. 2003-02-11 Ulrich Drepper * nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Compute alignment correctly. Reported by Thorsten Kukuk. --- diff --git a/ChangeLog b/ChangeLog index 497d1b7..90142cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-02-11 Ulrich Drepper + + * nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Compute alignment + correctly. Reported by Thorsten Kukuk. + 2003-02-10 Ulrich Drepper * elf/Makefile (check-textrel-CFLAGS): Pass _XOPEN_SOURCE and diff --git a/nss/nss_files/files-hosts.c b/nss/nss_files/files-hosts.c index 12ad9cf..96e410f 100644 --- a/nss/nss_files/files-hosts.c +++ b/nss/nss_files/files-hosts.c @@ -1,5 +1,5 @@ /* Hosts file parser in nss_files module. - Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc. + Copyright (C) 1996-2001, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -166,7 +166,11 @@ _nss_files_get##name##_r (proto, \ newstrlen += strlen (tmp_result_buf.h_name) + 1; \ } \ \ - /* Now we can check whether the buffer is large enough. */ \ + /* Make sure bufferend is aligned. */ \ + assert ((bufferend - (char *) 0) % sizeof (char *) == 0); \ + \ + /* Now we can check whether the buffer is large enough. \ + 16 is the maximal size of the IP address. */ \ if (bufferend + 16 + (naddrs + 2) * sizeof (char *) \ + roundup (newstrlen, sizeof (char *)) \ + (naliases + newaliases + 1) * sizeof (char *) \ @@ -217,7 +221,7 @@ _nss_files_get##name##_r (proto, \ /* Round up the buffer end address. */ \ bufferend += (sizeof (char *) \ - ((bufferend - (char *) 0) \ - % sizeof (char *))); \ + % sizeof (char *))) % sizeof (char *); \ \ /* Now the new address. */ \ new_h_addr_list[naddrs++] = \