Fix scanf %s in lsof.
am: 008efb756f
* commit '008efb756fea8a9e66a1825b546e9dc392c72bec':
Fix scanf %s in lsof.
Change-Id: I608ae2094649617308b45571df1b649724ec8ac3
This commit is contained in:
commit
491dfb11b7
1 changed files with 3 additions and 4 deletions
|
|
@ -99,13 +99,12 @@ out:
|
||||||
static void print_maps(struct pid_info_t* info)
|
static void print_maps(struct pid_info_t* info)
|
||||||
{
|
{
|
||||||
FILE *maps;
|
FILE *maps;
|
||||||
char buffer[PATH_MAX + 100];
|
|
||||||
|
|
||||||
size_t offset;
|
size_t offset;
|
||||||
int major, minor;
|
int major, minor;
|
||||||
char device[10];
|
char device[10];
|
||||||
long int inode;
|
long int inode;
|
||||||
char file[PATH_MAX];
|
char file[1024];
|
||||||
|
|
||||||
strlcat(info->path, "maps", sizeof(info->path));
|
strlcat(info->path, "maps", sizeof(info->path));
|
||||||
|
|
||||||
|
|
@ -113,8 +112,8 @@ static void print_maps(struct pid_info_t* info)
|
||||||
if (!maps)
|
if (!maps)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
while (fscanf(maps, "%*x-%*x %*s %zx %5s %ld %s\n", &offset, device, &inode,
|
while (fscanf(maps, "%*x-%*x %*s %zx %5s %ld %1023s\n",
|
||||||
file) == 4) {
|
&offset, device, &inode, file) == 4) {
|
||||||
// We don't care about non-file maps
|
// We don't care about non-file maps
|
||||||
if (inode == 0 || !strcmp(device, "00:00"))
|
if (inode == 0 || !strcmp(device, "00:00"))
|
||||||
continue;
|
continue;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue