PR25822, Invalid read in process_symbol_table
[deliverable/binutils-gdb.git] / binutils / readelf.c
index 80af9a242acd03c8137a1256f6102c512c75b64e..0ea8273ab113eefac05f42f19bb5579e895a1355 100644 (file)
@@ -9969,11 +9969,13 @@ get_num_dynamic_syms (Filedata * filedata)
 
       nbuckets = byte_get (nb, hash_ent_size);
       nchains = byte_get (nc, hash_ent_size);
-      num_of_syms = nchains;
 
       buckets = get_dynamic_data (filedata, nbuckets, hash_ent_size);
       chains  = get_dynamic_data (filedata, nchains, hash_ent_size);
 
+      if (buckets != NULL && chains != NULL)
+       num_of_syms = nchains;
+
   no_hash:
       if (num_of_syms == 0)
        {
This page took 0.024337 seconds and 4 git commands to generate.