diff -Naur procps-ng-3.3.10.orig/proc/sysinfo.c procps-ng-3.3.10/proc/sysinfo.c --- procps-ng-3.3.10.orig/proc/sysinfo.c 2016-01-14 15:57:33.000000000 +0100 +++ procps-ng-3.3.10/proc/sysinfo.c 2016-01-14 16:40:01.290000000 +0100 @@ -988,7 +988,7 @@ int cPartition = 0; int fields; unsigned dummy; - char devname[32]; + char devname[35]; *disks = NULL; *partitions = NULL; @@ -1001,10 +1001,10 @@ fclose(fd); break; } - fields = sscanf(buff, " %*d %*d %15s %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %u", devname, &dummy); + fields = sscanf(buff, " %*d %*d %34s %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %u", devname, &dummy); if (fields == 2 && is_disk(devname)){ (*disks) = xrealloc(*disks, (cDisk+1)*sizeof(struct disk_stat)); - sscanf(buff, " %*d %*d %15s %u %u %llu %u %u %u %llu %u %u %u %u", + sscanf(buff, " %*d %*d %31s %u %u %llu %u %u %u %llu %u %u %u %u", //&disk_major, //&disk_minor, (*disks)[cDisk].disk_name, @@ -1026,8 +1026,8 @@ (*partitions) = xrealloc(*partitions, (cPartition+1)*sizeof(struct partition_stat)); fflush(stdout); sscanf(buff, (fields == 2) - ? " %*d %*d %15s %u %*u %llu %*u %u %*u %llu %*u %*u %*u %*u" - : " %*d %*d %15s %u %llu %u %llu", + ? " %*d %*d %34s %u %*u %llu %*u %u %*u %llu %*u %*u %*u %*u" + : " %*d %*d %34s %u %llu %u %llu", //&part_major, //&part_minor, (*partitions)[cPartition].partition_name, diff -Naur procps-ng-3.3.10.orig/proc/sysinfo.h procps-ng-3.3.10/proc/sysinfo.h --- procps-ng-3.3.10.orig/proc/sysinfo.h 2014-09-23 13:40:36.000000000 +0200 +++ procps-ng-3.3.10/proc/sysinfo.h 2016-01-14 16:30:02.326000000 +0100 @@ -101,7 +101,7 @@ typedef struct disk_stat{ unsigned long long reads_sectors; unsigned long long written_sectors; - char disk_name [16]; + char disk_name [32]; unsigned inprogress_IO; unsigned merged_reads; unsigned merged_writes; @@ -115,7 +115,7 @@ }disk_stat; typedef struct partition_stat{ - char partition_name [16]; + char partition_name [35]; unsigned long long reads_sectors; unsigned parent_disk; // index into a struct disk_stat array unsigned reads;