From: David F. Skoll Date: Mon, 24 Jun 2002 12:42:24 +0000 (+0000) Subject: Check return code of mmap (bug reported by Nick Bane) X-Git-Tag: ppp-2.4.7~412 X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=commitdiff_plain;h=f488cb944f033b385052d44b8e0846880e80b5db;hp=3940021f0d95f88aebdb6409fa75570ba686c92c Check return code of mmap (bug reported by Nick Bane) --- diff --git a/pppd/tdb.c b/pppd/tdb.c index 7fd5829..c6498d6 100644 --- a/pppd/tdb.c +++ b/pppd/tdb.c @@ -210,6 +210,9 @@ static int tdb_oob(TDB_CONTEXT *tdb, tdb_off offset) tdb->map_ptr = (void *)mmap(NULL, tdb->map_size, tdb->read_only?PROT_READ:PROT_READ|PROT_WRITE, MAP_SHARED | MAP_FILE, tdb->fd, 0); + if (tdb->map_ptr == MAP_FAILED) { + tdb->map_ptr = NULL; + } #endif return 0; } @@ -373,6 +376,9 @@ static int tdb_expand(TDB_CONTEXT *tdb, tdb_off length) tdb->map_ptr = (void *)mmap(NULL, tdb->map_size, PROT_READ|PROT_WRITE, MAP_SHARED | MAP_FILE, tdb->fd, 0); + if (tdb->map_ptr == MAP_FAILED) { + tdb->map_ptr = NULL; + } } #endif @@ -1180,6 +1186,9 @@ TDB_CONTEXT *tdb_open(char *name, int hash_size, int tdb_flags, tdb.map_ptr = (void *)mmap(NULL, st.st_size, tdb.read_only? PROT_READ : PROT_READ|PROT_WRITE, MAP_SHARED | MAP_FILE, tdb.fd, 0); + if (tdb.map_ptr == MAP_FAILED) { + tdb.map_ptr = NULL; + } } #endif