reiserfs: make sure va_end() is always called after va_start().

A call to va_start() must always be followed by a call to va_end() in the
same function.  In fs/reiserfs/prints.c::print_block() this is not always
the case.  If 'bh' is NULL we'll return without calling va_end().

One could add a call to va_end() before the 'return' statement, but it's
nicer to just move the call to va_start() after the test for 'bh' being
NULL.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Acked-by: Edward Shishkin <edward.shishkin@gmail.com>
Cc: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Jesper Juhl 2011-01-12 17:00:27 -08:00 committed by Linus Torvalds
parent e0e3d32bb4
commit 566538a6cf
1 changed files with 2 additions and 2 deletions

View File

@ -586,13 +586,13 @@ void print_block(struct buffer_head *bh, ...) //int print_mode, int first, int l
va_list args; va_list args;
int mode, first, last; int mode, first, last;
va_start(args, bh);
if (!bh) { if (!bh) {
printk("print_block: buffer is NULL\n"); printk("print_block: buffer is NULL\n");
return; return;
} }
va_start(args, bh);
mode = va_arg(args, int); mode = va_arg(args, int);
first = va_arg(args, int); first = va_arg(args, int);
last = va_arg(args, int); last = va_arg(args, int);