Fix off-by-one in pmap
When procps is built with gcc 4.8 address sanitizer static int one_proc(proc_t * p).. .. char smap_key[20]; ... (sscanf(mapbuf, "%20[^:]: %llu", smap_key.. rightfully results in an overflow and the program aborts.
This commit is contained in:
parent
39c6de4c87
commit
5a39544b21
2
pmap.c
2
pmap.c
@ -591,7 +591,7 @@ static int one_proc(proc_t * p)
|
|||||||
unsigned long long file_offset, inode;
|
unsigned long long file_offset, inode;
|
||||||
unsigned dev_major, dev_minor;
|
unsigned dev_major, dev_minor;
|
||||||
unsigned long long smap_value;
|
unsigned long long smap_value;
|
||||||
char smap_key[20];
|
char smap_key[21];
|
||||||
|
|
||||||
/* hex values are lower case or numeric, keys are upper */
|
/* hex values are lower case or numeric, keys are upper */
|
||||||
if (mapbuf[0] >= 'A' && mapbuf[0] <= 'Z') {
|
if (mapbuf[0] >= 'A' && mapbuf[0] <= 'Z') {
|
||||||
|
Loading…
Reference in New Issue
Block a user