The branch, v3-4-test has been updated via dbd5dd808f14b1df0ed3dabd0553baddad2d186b (commit) from c57de2c23d4208d4d7d06decdb1663670faa228d (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test - Log ----------------------------------------------------------------- commit dbd5dd808f14b1df0ed3dabd0553baddad2d186b Author: Jim McDonough <j...@samba.org> Date: Thu May 21 16:26:26 2009 -0400 Detect tight loop in tdb_find() ----------------------------------------------------------------------- Summary of changes: lib/tdb/common/tdb.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) Changeset truncated at 500 lines: diff --git a/lib/tdb/common/tdb.c b/lib/tdb/common/tdb.c index 8c61ec1..b59bb15 100644 --- a/lib/tdb/common/tdb.c +++ b/lib/tdb/common/tdb.c @@ -96,6 +96,11 @@ static tdb_off_t tdb_find(struct tdb_context *tdb, TDB_DATA key, uint32_t hash, NULL) == 0) { return rec_ptr; } + /* detect tight infinite loop */ + if (rec_ptr == r->next) { + TDB_LOG((tdb, TDB_DEBUG_FATAL, "tdb_find: loop detected.\n")); + return TDB_ERRCODE(TDB_ERR_CORRUPT, 0); + } rec_ptr = r->next; } return TDB_ERRCODE(TDB_ERR_NOEXIST, 0); -- Samba Shared Repository