aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-05-16 09:10:36 -0400
committerUlrich Drepper <drepper@gmail.com>2011-05-16 09:10:36 -0400
commit15cc7dd182a6be79cbb01a5de4f13e958717bd69 (patch)
tree788d84d73a4f161cb4ae7c47b05db7db2a14f4fc
parentf3799213a3ee8265ba47fad33d9cff71d97ab0d4 (diff)
downloadglibc-15cc7dd182a6be79cbb01a5de4f13e958717bd69.zip
glibc-15cc7dd182a6be79cbb01a5de4f13e958717bd69.tar.gz
glibc-15cc7dd182a6be79cbb01a5de4f13e958717bd69.tar.bz2
Fix test for error_one_per_line mode in error
-rw-r--r--ChangeLog5
-rw-r--r--NEWS2
-rw-r--r--misc/error.c6
3 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index a80468a..c041559 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2011-05-16 Ulrich Drepper <drepper@gmail.com>
+ [BZ #12766]
+ * misc/error.c (error_at_line): Ensure file_name and old_file_name
+ point to strings before performing equality test for error_one_per_line
+ mode.
+
[BZ #11697]
* login/programs/pt_chown.c (do_pt_chown): Always call chown.
diff --git a/NEWS b/NEWS
index 3fe6c9d..ef27e60 100644
--- a/NEWS
+++ b/NEWS
@@ -16,7 +16,7 @@ Version 2.14
12510, 12511, 12518, 12527, 12541, 12545, 12551, 12582, 12583, 12587,
12597, 12601, 12611, 12625, 12626, 12631, 12650, 12653, 12655, 12660,
12681, 12685, 12711, 12713, 12714, 12717, 12723, 12724, 12734, 12738,
- 12746
+ 12746, 12766
* The RPC implementation in libc is obsoleted. Old programs keep working
but new programs cannot be linked with the routines in libc anymore.
diff --git a/misc/error.c b/misc/error.c
index 85d1cff..9a73a61 100644
--- a/misc/error.c
+++ b/misc/error.c
@@ -1,5 +1,5 @@
/* Error handler for noninteractive utilities
- Copyright (C) 1990-1998, 2000-2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1990-1998, 2000-2006, 2011 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
@@ -272,7 +272,9 @@ error_at_line (int status, int errnum, const char *file_name,
if (old_line_number == line_number
&& (file_name == old_file_name
- || strcmp (old_file_name, file_name) == 0))
+ || (old_file_name != NULL
+ && file_name != NULL
+ && strcmp (old_file_name, file_name) == 0)))
/* Simply return and print nothing. */
return;