diff options
author | Denis Vlasenko | 2008-08-14 21:57:43 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-08-14 21:57:43 +0000 |
commit | cd785fb716769228082ab1fd690d7916e3cc9cee (patch) | |
tree | 214020f177965a3899a017c27aa05cb683c93fe8 | |
parent | ee777c4e5f7335296afe2e32d91e0afd46fbe957 (diff) | |
download | busybox-cd785fb716769228082ab1fd690d7916e3cc9cee.zip busybox-cd785fb716769228082ab1fd690d7916e3cc9cee.tar.gz |
nmeter: fix read past the end if a buffer. Closes 4594
-rw-r--r-- | procps/nmeter.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/procps/nmeter.c b/procps/nmeter.c index 48a5b4e..cded67e 100644 --- a/procps/nmeter.c +++ b/procps/nmeter.c @@ -786,8 +786,10 @@ int nmeter_main(int argc, char **argv) if (argc != 2) bb_show_usage(); - if (open_read_close("version", buf, sizeof(buf)) > 0) - is26 = (strstr(buf, " 2.4.")==NULL); + if (open_read_close("version", buf, sizeof(buf)-1) > 0) { + buf[sizeof(buf)-1] = '\0'; + is26 = (strstr(buf, " 2.4.") == NULL); + } // Can use argv[1] directly, but this will mess up // parameters as seen by e.g. ps. Making a copy... |