Thank you Arnaldo for signing my patch. I think we should use version 4 of my patch and return NULL instead of null-terminating for efficiency.
Thanks, Donald > On May 17, 2019, at 3:35 PM, Arnaldo Carvalho de Melo <a...@kernel.org> wrote: > > From: Donald Yandt <donald.ya...@gmail.com> > > If fgets() fails due to any other error besides end-of-file, the version > char array may not even be null-terminated. > > Signed-off-by: Donald Yandt <donald.ya...@gmail.com> > Cc: Alexander Shishkin <alexander.shish...@linux.intel.com> > Cc: Avi Kivity <a...@scylladb.com> > Cc: Jiri Olsa <jo...@redhat.com> > Cc: Peter Zijlstra <pet...@infradead.org> > Cc: Yanmin Zhang <yanmin_zh...@linux.intel.com> > Fixes: a1645ce12adb ("perf: 'perf kvm' tool for monitoring guest performance > from host") > Link: http://lkml.kernel.org/r/20190514110100.22019-1-donald.ya...@gmail.com > Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com> > --- > tools/perf/util/machine.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c > index 3c520baa198c..28a9541c4835 100644 > --- a/tools/perf/util/machine.c > +++ b/tools/perf/util/machine.c > @@ -1234,8 +1234,9 @@ static char *get_kernel_version(const char *root_dir) > if (!file) > return NULL; > > - version[0] = '\0'; > tmp = fgets(version, sizeof(version), file); > + if (!tmp) > + *version = '\0'; > fclose(file); > > name = strstr(version, prefix); > -- > 2.20.1 >