]> granicus.if.org Git - procps-ng/commitdiff
library: Cater for 32 char device names
authorCraig Small <csmall@enc.com.au>
Sat, 2 Jul 2016 05:01:11 +0000 (15:01 +1000)
committerCraig Small <csmall@enc.com.au>
Sat, 2 Jul 2016 05:01:11 +0000 (15:01 +1000)
The new library has this boundary set in a define.
Also fixed the off-by-one problem with the buffer and scanf

References:
 commit 1794875ab679809dabb2e1a7d6fa21f23b100d4d

proc/diskstat.c

index 4d989b7962396a0d72d2f7930934082ebe1c62f4..ebf4a921627478487a81bb68f5fbe53267a71e5a 100644 (file)
 #include "procps-private.h"
 
 #define DISKSTAT_LINE_LEN 1024
-#define DISKSTAT_NAME_LEN 15
+#define DISKSTAT_NAME_LEN 34
 #define DISKSTAT_FILE "/proc/diskstats"
 #define SYSBLOCK_DIR "/sys/block"
 
 struct procps_diskstat_dev {
-    char name[DISKSTAT_NAME_LEN];
+    char name[DISKSTAT_NAME_LEN+1];
     int is_disk;
     unsigned long reads;
     unsigned long reads_merged;
@@ -186,7 +186,7 @@ PROCPS_EXPORT int procps_diskstat_read (
 {
     int retval;
     char buf[DISKSTAT_LINE_LEN];
-    char devname[DISKSTAT_NAME_LEN];
+    char devname[DISKSTAT_NAME_LEN+1];
     struct procps_diskstat_dev *disk;
 
     /* clear/zero structures */