diff options
author | Elliott Hughes <enh@google.com> | 2016-04-19 14:57:09 -0700 |
---|---|---|
committer | The Android Automerger <android-build@google.com> | 2016-05-27 11:31:45 -0700 |
commit | ae18eb014609948a40e22192b87b10efc680daa7 (patch) | |
tree | eec110478dae59646c6413ef602b58b5fba4d7be | |
parent | 864e2e22fcd0cba3f5e67680ccabd0302dfda45d (diff) | |
download | system_core-ae18eb014609948a40e22192b87b10efc680daa7.zip system_core-ae18eb014609948a40e22192b87b10efc680daa7.tar.gz system_core-ae18eb014609948a40e22192b87b10efc680daa7.tar.bz2 |
Fix scanf %s in lsof.
Bug: http://b/28175237
Change-Id: Ief0ba299b09693ad9afc0e3d17a8f664c2fbb8c2
-rw-r--r-- | toolbox/lsof.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/toolbox/lsof.c b/toolbox/lsof.c index 982f5aa..da78ddd 100644 --- a/toolbox/lsof.c +++ b/toolbox/lsof.c @@ -100,10 +100,11 @@ out: static void print_maps(struct pid_info_t* info) { FILE *maps; + size_t offset; char device[10]; long int inode; - char file[PATH_MAX]; + char file[1024]; strlcat(info->path, "maps", sizeof(info->path)); @@ -111,8 +112,8 @@ static void print_maps(struct pid_info_t* info) if (!maps) goto out; - while (fscanf(maps, "%*x-%*x %*s %zx %s %ld %s\n", &offset, device, &inode, - file) == 4) { + while (fscanf(maps, "%*x-%*x %*s %zx %5s %ld %1023s\n", + &offset, device, &inode, file) == 4) { // We don't care about non-file maps if (inode == 0 || !strcmp(device, "00:00")) continue; |