libSegFault: Fix printing signal number [BZ #27249]
authorVitaly Chikunov <vt@altlinux.org>
Mon, 1 Feb 2021 20:04:08 +0000 (23:04 +0300)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 1 Feb 2021 20:04:08 +0000 (20:04 +0000)
Signal number is written into the tail of buf, but printed from the
beginning, outputting garbage on the screen.  Fix this by printing
from the correct position.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: Dmitry V. Levin <ldv@altlinux.org>
debug/segfault.c

index 0a6be8b..1873022 100644 (file)
@@ -58,7 +58,7 @@ write_strsignal (int fd, int signal)
   char buf[30];
   char *ptr = _itoa_word (signal, &buf[sizeof (buf)], 10, 0);
   WRITE_STRING ("signal ");
-  write (fd, buf, &buf[sizeof (buf)] - ptr);
+  write (fd, ptr, &buf[sizeof (buf)] - ptr);
 }