SIG_0 is not valid signal name, do not have signal number is 0.
Maybe not have greatly effect, but print error message is friendly.

* qualify.c (sigstr_to_uint): Compare signal number to zero.
Change index start from one.
---
 qualify.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/qualify.c b/qualify.c
index fd20349..fd012ee 100644
--- a/qualify.c
+++ b/qualify.c
@@ -154,13 +154,15 @@ sigstr_to_uint(const char *s)
 {
        int i;
 
-       if (*s >= '0' && *s <= '9')
-               return string_to_uint_upto(s, 255);
+       if (*s >= '0' && *s <= '9') {
+               int signum = string_to_uint_upto(s, 255);
+               return signum > 0 ? signum : -1;
+       }
 
        if (strncasecmp(s, "SIG", 3) == 0)
                s += 3;
 
-       for (i = 0; i <= 255; ++i) {
+       for (i = 1; i <= 255; ++i) {
                const char *name = signame(i);
 
                if (strncasecmp(name, "SIG", 3) != 0)
-- 
2.7.4


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to