From 89b2479830756188cfe81cbe34fbb83a33e67dfd Mon Sep 17 00:00:00 2001 From: yangjiaqi Date: Wed, 2 Mar 2022 14:20:40 +0800 Subject: [PATCH] fix dev_name stack overflow --- src/proc_fuse.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/proc_fuse.c b/src/proc_fuse.c index 0f66c40..a1c0265 100644 --- a/src/proc_fuse.c +++ b/src/proc_fuse.c @@ -497,7 +497,7 @@ struct devinfo* container_dev_read(pid_t pid) { struct dirent *ptr; struct stat dev_stat; struct devinfo *head = NULL, *end; - char fpath[100], dev_name[100]; + char fpath[100], dev_name[101]; pid_t child_pid; int mypipe[2]; int dev_num; @@ -574,6 +574,7 @@ child_out: } wait_for_pid(child_pid); child_pid = 0; + memset(dev_name, 0, sizeof(dev_name)); while (fscanf(stream, "%100s%d", dev_name, &dev_num) == 2) { if (dev_num == 0) { break; @@ -593,6 +594,7 @@ child_out: end->name = must_copy_string(dev_name); end->major = major(dev_num); end->minor = minor(dev_num); + memset(dev_name, 0, sizeof(dev_name)); } err: if (stream) -- 2.32.0 (Apple Git-132)