about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--nss/nss_files/files-alias.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 67e65e2f0c..a7e67e38ab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,10 @@
 	* po/nl.po: Update from translation team.
 
 	* timezone/zdump.c: Redo fix for BZ #3137.
+2006-11-14  Jakub Jelinek  <jakub@redhat.com>
+
+	* nss/nss_files/files-alias.c (get_next_alias): Set line back
+	to first_unused after parsing :include: file.
 
 2006-11-10  Ulrich Drepper  <drepper@redhat.com>
 
diff --git a/nss/nss_files/files-alias.c b/nss/nss_files/files-alias.c
index 8ee54f121f..c4717e1242 100644
--- a/nss/nss_files/files-alias.c
+++ b/nss/nss_files/files-alias.c
@@ -1,5 +1,5 @@
 /* Mail alias file parser in nss_files module.
-   Copyright (C) 1996,97,98,99,2002 Free Software Foundation, Inc.
+   Copyright (C) 1996,97,98,99,2002,2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -298,8 +298,8 @@ get_next_alias (const char *match, struct aliasent *result,
 			  first_unused[room_left - 1] = '\0';
 			  strncpy (first_unused, old_line, room_left);
 
-			  if (old_line != NULL)
-			    free (old_line);
+			  free (old_line);
+			  line = first_unused;
 
 			  if (first_unused[room_left - 1] != '\0')
 			    goto no_more_room;