]> granicus.if.org Git - strace/commitdiff
Fix NULL dereference in "-S name" when syscall table has holes
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 10 May 2016 00:16:20 +0000 (00:16 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 10 May 2016 00:38:59 +0000 (00:38 +0000)
* count.c (syscall_cmp): Do not pass NULL to strcmp.

count.c

diff --git a/count.c b/count.c
index 4b16ee6606adedbb20583249994bdfffc38976de..1393b6e4eddb019cab2da685dee07b0098b24b30 100644 (file)
--- a/count.c
+++ b/count.c
@@ -112,8 +112,9 @@ time_cmp(void *a, void *b)
 static int
 syscall_cmp(void *a, void *b)
 {
-       return strcmp(sysent[*((int *) a)].sys_name,
-                     sysent[*((int *) b)].sys_name);
+       const char *a_name = sysent[*((int *) a)].sys_name;
+       const char *b_name = sysent[*((int *) b)].sys_name;
+       return strcmp(a_name ? a_name : "", b_name ? b_name : "");
 }
 
 static int