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:
parent
e0e3d32bb4
commit
566538a6cf
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue