From 1f269fcc6e2bb46b765d547eb1add2bc52272c47 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 30 May 2013 16:23:17 +0200 Subject: [PATCH] tdb: Add another overflow check to tdb_expand_adjust Signed-off-by: Volker Lendecke Reviewed-by: Rusty Russell Autobuild-User(master): Volker Lendecke Autobuild-Date(master): Mon Jun 3 14:08:54 CEST 2013 on sn-devel-104 --- lib/tdb/common/io.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/tdb/common/io.c b/lib/tdb/common/io.c index 87d47b970b0..11dfefd102b 100644 --- a/lib/tdb/common/io.c +++ b/lib/tdb/common/io.c @@ -405,6 +405,12 @@ tdb_off_t tdb_expand_adjust(tdb_off_t map_size, tdb_off_t size, int page_size) /* Round the database up to a multiple of the page size */ new_size = MAX(top_size, new_size); + + if (new_size + page_size < new_size) { + /* There's a "+" in TDB_ALIGN that might overflow... */ + goto overflow; + } + return TDB_ALIGN(new_size, page_size) - map_size; overflow: -- 2.34.1