]> granicus.if.org Git - strace/commitdiff
check for negative u_errors
authorWichert Akkerman <wichert@deephackmode.org>
Sun, 31 Mar 2002 19:03:29 +0000 (19:03 +0000)
committerWichert Akkerman <wichert@deephackmode.org>
Sun, 31 Mar 2002 19:03:29 +0000 (19:03 +0000)
ChangeLog
syscall.c

index d2457bef0546ddeedac40dbe5d9b9fdc0286fd54..a96e2c34f84478d408a0b432fd4e2460350fe115 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
        * debian/*: added
        * linux/syscallent.h: fix typo and add the reserved stream syscalls
        * defs.h, file.c, io.c: fix signed/unsigned issues
+       * syscall.c: check for negative u_errors
 
 2001-12-17  Wichert Akkerman <wakkerma@debian.org>
 
index 308080a2952ffb1264ea8395811d72ba33c1d43b..95c4bad1dc723f328fa1f9d1d7a7e6e0b9621cf3 100644 (file)
--- a/syscall.c
+++ b/syscall.c
@@ -1590,7 +1590,9 @@ struct tcb *tcp;
 #endif /* LINUX */
                        default:
                                tprintf("= -1 ");
-                               if (u_error < nerrnos && u_error < sys_nerr)
+                               if (u_error < 0)
+                                       tprintf("E??? (errno %ld)", u_error);
+                               else if (u_error < nerrnos && u_error < sys_nerr)
                                        tprintf("%s (%s)", errnoent[u_error],
                                                sys_errlist[u_error]);
                                else if (u_error < nerrnos)