kernel/sysctl.c: check return value after call proc_put_char() in __do_proc_doulongve...
authorChen Gang <gang.chen@asianux.com>
Tue, 12 Nov 2013 23:11:21 +0000 (15:11 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 13 Nov 2013 03:09:33 +0000 (12:09 +0900)
Need to check the return value of proc_put_char(), as was done in
__do_proc_doulongvec_minmax().

Signed-off-by: Chen Gang <gang.chen@asianux.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/sysctl.c

index 36547dd..d37d9dd 100644 (file)
@@ -2222,8 +2222,11 @@ static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int
                        *i = val;
                } else {
                        val = convdiv * (*i) / convmul;
-                       if (!first)
+                       if (!first) {
                                err = proc_put_char(&buffer, &left, '\t');
+                               if (err)
+                                       break;
+                       }
                        err = proc_put_long(&buffer, &left, val, false);
                        if (err)
                                break;