summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid Kastrup <dak@gnu.org>2015-11-03 23:08:54 +0100
committerFlorian Weimer <fweimer@redhat.com>2015-11-03 23:26:15 +0100
commit8ba14398e629c1f63b9c91a59a47a713b3cce8bc (patch)
tree17e10f1cb7803b5995294d463536f1f14abd32dc
parentcf09d0b052cbbfbcabc3c3d78d485876b9b81f9c (diff)
downloadglibc-8ba14398e629c1f63b9c91a59a47a713b3cce8bc.tar.gz
glibc-8ba14398e629c1f63b9c91a59a47a713b3cce8bc.tar.xz
glibc-8ba14398e629c1f63b9c91a59a47a713b3cce8bc.zip
Don't macro-expand failed assertion expression [BZ #18604]
	[BZ #18604]
	* assert/assert.h (assert): Don't macro-expand failed assertion
	expression in error message.
	* malloc/malloc.c (assert): Likewise.
-rw-r--r--ChangeLog7
-rw-r--r--assert/assert.h2
-rw-r--r--malloc/malloc.c2
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0abea41af6..35922ef76b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-11-03  David Kastrup  <dak@gnu.org>
+
+	[BZ #18604]
+	* assert/assert.h (assert): Don't macro-expand failed assertion
+	expression in error message.
+	* malloc/malloc.c (assert): Likewise.
+
 2015-11-03  Joseph Myers  <joseph@codesourcery.com>
 
 	* configure.ac (libc_cv_ld_no_whole_archive): Remove configure
diff --git a/assert/assert.h b/assert/assert.h
index d04c58cc8a..40b9848c15 100644
--- a/assert/assert.h
+++ b/assert/assert.h
@@ -85,7 +85,7 @@ __END_DECLS
 # define assert(expr)							\
   ((expr)								\
    ? __ASSERT_VOID_CAST (0)						\
-   : __assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION))
+   : __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION))
 
 # ifdef	__USE_GNU
 #  define assert_perror(errnum)						\
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 35c8863a32..839263efc5 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -283,7 +283,7 @@
 # define assert(expr) \
   ((expr)								      \
    ? ((void) 0)								      \
-   : __malloc_assert (__STRING (expr), __FILE__, __LINE__, __func__))
+   : __malloc_assert (#expr, __FILE__, __LINE__, __func__))
 
 extern const char *__progname;