bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] savedir: avoid undefined behavior in qsort call


From: Pádraig Brady
Subject: [PATCH] savedir: avoid undefined behavior in qsort call
Date: Wed, 24 Jun 2015 19:11:00 +0100

GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
"runtime error: null pointer passed as argument 1,
 which is declared to never be null"
* lib/savedir.c (streamsavedir): Avoid the call with no entries.
---
 ChangeLog     | 8 ++++++++
 lib/savedir.c | 3 ++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 1a8d095..ef31340 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2015-06-24  Pádraig Brady  <address@hidden>
 
+       savedir: avoid undefined behavior in qsort call
+       GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
+       "runtime error: null pointer passed as argument 1,
+        which is declared to never be null"
+       * lib/savedir.c (streamsavedir): Avoid the call with no entries.
+
+2015-06-24  Pádraig Brady  <address@hidden>
+
        userspec: avoid undefined behavior in gettext call
        GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
        "runtime error: null pointer passed as argument 2,
diff --git a/lib/savedir.c b/lib/savedir.c
index 3af555a..61b0fa3 100644
--- a/lib/savedir.c
+++ b/lib/savedir.c
@@ -161,7 +161,8 @@ streamsavedir (DIR *dirp, enum savedir_option option)
     {
       size_t i;
 
-      qsort (entries, entries_used, sizeof *entries, cmp);
+      if (entries_used)
+        qsort (entries, entries_used, sizeof *entries, cmp);
       name_space = xmalloc (used + 1);
       used = 0;
       for (i = 0; i < entries_used; i++)
-- 
2.4.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]