summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko2008-08-14 21:57:43 +0000
committerDenis Vlasenko2008-08-14 21:57:43 +0000
commitcd785fb716769228082ab1fd690d7916e3cc9cee (patch)
tree214020f177965a3899a017c27aa05cb683c93fe8
parentee777c4e5f7335296afe2e32d91e0afd46fbe957 (diff)
downloadbusybox-cd785fb716769228082ab1fd690d7916e3cc9cee.zip
busybox-cd785fb716769228082ab1fd690d7916e3cc9cee.tar.gz
nmeter: fix read past the end if a buffer. Closes 4594
-rw-r--r--procps/nmeter.c6
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...