From 791147f316756a72fb6fea77fdf49e5fcd41ec00 Mon Sep 17 00:00:00 2001 From: =?utf8?q?P=C3=A1draig=20Brady?=
Date: Wed, 24 Jun 2015 19:08:08 +0100 Subject: [PATCH] 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. --- ChangeLog | 8 ++++++++ lib/savedir.c | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 1a8d095cf3..ef313402c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-06-24 Pádraig Brady
+ + 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
userspec: avoid undefined behavior in gettext call diff --git a/lib/savedir.c b/lib/savedir.c index 3af555ac3e..61b0fa3ca8 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.39.5