From c4c4413ea5fb5a1e9a89c85bc82761ba62fb4800 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 8 Jan 2013 17:37:37 +0100 Subject: [PATCH] Really fix give not to wipe out concurrent updates give() continues after check_sect_ok() fails. Clobbers the updates that made check_sect_ok() fail, triggering a seqno mismatch oops. Commit b58c37e2 (v4.3.27) claimed to fix this, but actually only suppressed the generation oops. --- src/lib/commands/give.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/commands/give.c b/src/lib/commands/give.c index b8d4577bd..dfe1df77e 100644 --- a/src/lib/commands/give.c +++ b/src/lib/commands/give.c @@ -62,7 +62,8 @@ give(void) return RET_SYN; if ((amt = atoi(p)) == 0) return RET_SYN; - check_sect_ok(§); + if (!check_sect_ok(§)) + return RET_FAIL; n = sect.sct_item[ip->i_uid]; if (amt < 0 && -amt > n) { m = 0; -- 2.43.0