audit: Fix check of return value of strnlen_user()

strnlen_user() returns 0 when it hits fault, not -1. Fix the test in
audit_log_single_execve_arg(). Luckily this shouldn't ever happen unless
there's a kernel bug so it's mostly a cosmetic fix.

CC: Paul Moore <pmoore@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Paul Moore <pmoore@redhat.com>
This commit is contained in:
Jan Kara 2015-06-02 17:08:29 +02:00 committed by Paul Moore
parent 5c1390c9ff
commit 0b08c5e594

View File

@ -1021,7 +1021,7 @@ static int audit_log_single_execve_arg(struct audit_context *context,
* for strings that are too long, we should not have created * for strings that are too long, we should not have created
* any. * any.
*/ */
if (unlikely((len == -1) || len > MAX_ARG_STRLEN - 1)) { if (unlikely((len == 0) || len > MAX_ARG_STRLEN - 1)) {
WARN_ON(1); WARN_ON(1);
send_sig(SIGKILL, current, 0); send_sig(SIGKILL, current, 0);
return -1; return -1;