summaryrefslogtreecommitdiffstats
path: root/ctdb/lib/tdb
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-01-31 09:18:26 +1100
committerAndrew Tridgell <tridge@samba.org>2008-01-31 09:18:26 +1100
commit1c35c8243e5300eb05415d729a79fbc77ed1ccb1 (patch)
tree434761f82e8180bf9c058a15b10155c9d36d33bc /ctdb/lib/tdb
parentfeb7c05734100ad1142836ad8bc22ba5806d7032 (diff)
downloadsamba-1c35c8243e5300eb05415d729a79fbc77ed1ccb1.tar.gz
samba-1c35c8243e5300eb05415d729a79fbc77ed1ccb1.tar.xz
samba-1c35c8243e5300eb05415d729a79fbc77ed1ccb1.zip
fixed a crash bug in the new transaction code
(This used to be ctdb commit 0d298e863c8ab2945fd329661c09ec6889152326)
Diffstat (limited to 'ctdb/lib/tdb')
-rw-r--r--ctdb/lib/tdb/common/transaction.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ctdb/lib/tdb/common/transaction.c b/ctdb/lib/tdb/common/transaction.c
index c3e7a4e2c06..4e2127be644 100644
--- a/ctdb/lib/tdb/common/transaction.c
+++ b/ctdb/lib/tdb/common/transaction.c
@@ -321,6 +321,9 @@ static int transaction_write_existing(struct tdb_context *tdb, tdb_off_t off,
if (blk == tdb->transaction->num_blocks-1 &&
off + len > tdb->transaction->last_block_size) {
+ if (off >= tdb->transaction->last_block_size) {
+ return 0;
+ }
len = tdb->transaction->last_block_size - off;
}