diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | nss/nss_db/db-XXX.c | 11 |
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index abc4894493..5dc235e6c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-06-21 Ulrich Drepper <drepper@gmail.com> + * nss/nss_db/db-XXX.c (nss_db_setENT): Only set entidx for successful + calls to internal_setent. + [BZ #12885] * sysdeps/posix/getaddrinfo.c (gaih_inet): When looking up only IPv6 addresses using gethostbyname4_r ignore IPv4 addresses. diff --git a/nss/nss_db/db-XXX.c b/nss/nss_db/db-XXX.c index 3947893284..0600e38b6f 100644 --- a/nss/nss_db/db-XXX.c +++ b/nss/nss_db/db-XXX.c @@ -71,11 +71,14 @@ CONCAT(_nss_db_set,ENTNAME) (int stayopen) status = internal_setent (DBFILE, &state); - /* Remember STAYOPEN flag. */ if (status == NSS_STATUS_SUCCESS) - keep_db |= stayopen; - /* Reset the sequential index. */ - entidx = (const char *) state.header + state.header->valstroffset; + { + /* Remember STAYOPEN flag. */ + keep_db |= stayopen; + + /* Reset the sequential index. */ + entidx = (const char *) state.header + state.header->valstroffset; + } __libc_lock_unlock (lock); |