Message ID | 20170812120510.28750-18-phil@nwl.cc |
---|---|
State | Changes Requested, archived |
Delegated to: | stephen hemminger |
Headers | show |
On 08/12/2017 02:04 PM, Phil Sutter wrote: > If fopen() succeeded but len != PATH_MAX, the function leaks the open > FILE pointer. Fix this by checking len value before calling fopen(). > > Signed-off-by: Phil Sutter <phil@nwl.cc> Acked-by: Daniel Borkmann <daniel@iogearbox.net>
diff --git a/lib/bpf.c b/lib/bpf.c index 4f52ad4a8f023..1dcb261dc915f 100644 --- a/lib/bpf.c +++ b/lib/bpf.c @@ -537,8 +537,11 @@ static const char *bpf_find_mntpt(const char *fstype, unsigned long magic, } } + if (len != PATH_MAX) + return NULL; + fp = fopen("/proc/mounts", "r"); - if (fp == NULL || len != PATH_MAX) + if (fp == NULL) return NULL; while (fscanf(fp, "%*s %" textify(PATH_MAX) "s %99s %*s %*d %*d\n",
If fopen() succeeded but len != PATH_MAX, the function leaks the open FILE pointer. Fix this by checking len value before calling fopen(). Signed-off-by: Phil Sutter <phil@nwl.cc> --- lib/bpf.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)