]> granicus.if.org Git - procps-ng/commitdiff
0040-proc/devname.c: Never write more than "chop" (part 2).
authorQualys Security Advisory <qsa@qualys.com>
Thu, 1 Jan 1970 00:00:00 +0000 (00:00 +0000)
committerCraig Small <csmall@enc.com.au>
Sat, 9 Jun 2018 11:35:19 +0000 (21:35 +1000)
"chop" is the maximum offset where the null-byte should be written;
respect this even if about to write just one (non-null) character.

proc/devname.c

index 010ea826b1141e51fca248ec95e35f00fc3f8390..b8110c7c8644a0d134709e2365afd91f6134a1ce 100644 (file)
@@ -340,7 +340,7 @@ unsigned dev_to_tty(char *restrict ret, unsigned chop, dev_t dev_t_dev, int pid,
   if(  link_name(tmp, MAJOR_OF(dev), MINOR_OF(dev), pid, "fd/255")) goto abbrev;
   // fall through if unable to find a device file
 no_tty:
-  strcpy(ret, "?");
+  strcpy(ret, chop >= 1 ? "?" : "");
   return 1;
 abbrev:
   if((flags&ABBREV_DEV) && !strncmp(tmp,"/dev/",5) && tmp[5]) tmp += 5;