X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Ftdb.c;h=c6498d651418545e33c4fa0509e203c62e80ddfc;hb=c2134507ca4699d192d79337a8fd2e947803dad9;hp=7fd58291ec363c0f6eddda56b4d478d9bb0b788e;hpb=0b3acd3a1122d542e2994d7791cc9127e91778f1;p=ppp.git 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