summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2010-05-02 12:12:55 -0700
committerUlrich Drepper <drepper@redhat.com>2010-05-02 12:12:55 -0700
commitab00f4eac8f4932211259ff87be83144f5211540 (patch)
treef744c5a89c536c357a4f9f22dd75263b3b681e59
parent8c0677fe5d91b7269364ca08fa08ed09e4c2d8c9 (diff)
downloadglibc-ab00f4eac8f4932211259ff87be83144f5211540.tar.gz
glibc-ab00f4eac8f4932211259ff87be83144f5211540.tar.xz
glibc-ab00f4eac8f4932211259ff87be83144f5211540.zip
Fix handling if newline in addmntent.
-rw-r--r--ChangeLog6
-rw-r--r--misc/mntent_r.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index e5bf7da4bb..60adfb8611 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-05-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* misc/mntent_r.c (encode_name): The slow loop handles newlines so we
+	should recognize them as an abort condition.
+	Patch by Jan Lieskovsky <jlieskov@redhat.com>.
+
 2010-04-25  Bruno Haible  <bruno@clisp.org>
 
 	[BZ #11538]
diff --git a/misc/mntent_r.c b/misc/mntent_r.c
index 829750b395..9598528324 100644
--- a/misc/mntent_r.c
+++ b/misc/mntent_r.c
@@ -1,5 +1,5 @@
 /* Utilities for reading/writing fstab, mtab, etc.
-   Copyright (C) 1995-2000, 2001, 2002, 2003, 2006
+   Copyright (C) 1995-2000, 2001, 2002, 2003, 2006, 2010
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -194,7 +194,7 @@ weak_alias (__getmntent_r, getmntent_r)
     const char *rp = name;						      \
 									      \
     while (*rp != '\0')							      \
-      if (*rp == ' ' || *rp == '\t' || *rp == '\\')			      \
+      if (*rp == ' ' || *rp == '\t' || *rp == '\n' || *rp == '\\')	      \
 	break;								      \
       else								      \
 	++rp;								      \
@@ -202,7 +202,7 @@ weak_alias (__getmntent_r, getmntent_r)
     if (*rp != '\0')							      \
       {									      \
 	/* In the worst case the length of the string can increase to	      \
-	   founr times the current length.  */				      \
+	   four times the current length.  */				      \
 	char *wp;							      \
 									      \
 	rp = name;							      \