diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | elf/cache.c | 4 |
3 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 736007961f..f12516b9a1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2015-03-11 Aurelien Jarno <aurelien@aurel32.net> + + [BZ #18093] + * elf/cache.c (load_aux_cache): Regenerate the cache if it has + the wrong size. + 2015-03-11 Paul Pluzhnikov <ppluzhnikov@google.com> [BZ #18043] diff --git a/NEWS b/NEWS index 1cee779d76..6568085333 100644 --- a/NEWS +++ b/NEWS @@ -14,7 +14,7 @@ Version 2.22 17792, 17836, 17912, 17916, 17932, 17944, 17949, 17964, 17965, 17967, 17969, 17978, 17987, 17991, 17996, 17998, 17999, 18019, 18020, 18029, 18030, 18032, 18036, 18038, 18039, 18042, 18043, 18046, 18047, 18068, - 18104, 18110, 18111. + 18093, 18104, 18110, 18111. * Character encoding and ctype tables were updated to Unicode 7.0.0, using new generator scripts contributed by Pravin Satpute and Mike FABIAN (Red diff --git a/elf/cache.c b/elf/cache.c index 1732268a9f..bde7984924 100644 --- a/elf/cache.c +++ b/elf/cache.c @@ -698,7 +698,9 @@ load_aux_cache (const char *aux_cache_name) if (aux_cache == MAP_FAILED || aux_cache_size < sizeof (struct aux_cache_file) || memcmp (aux_cache->magic, AUX_CACHEMAGIC, sizeof AUX_CACHEMAGIC - 1) - || aux_cache->nlibs >= aux_cache_size) + || aux_cache_size != (sizeof(struct aux_cache_file) + + aux_cache->nlibs * sizeof(struct aux_cache_file_entry) + + aux_cache->len_strings)) { close (fd); init_aux_cache (); |