-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Eric Blake on 6/7/2009 9:51 PM:
> According to Jim Meyering on 6/6/2009 2:41 PM:
>> A few of the function declarations in hash.h could benefit from
>> gcc's warn_unused_result attribute, so I'm adding it:
> 
> Including one in hash.c itself:
> 
> hash.c: In function `hash_delete':
> hash.c:1015: warning: ignoring return value of `hash_rehash', declared
> with attribute warn_unused_result
> 
> We should fix this, and decide whether shrinking the hash table when
> deletion frees up a bucket is always possible, or else deal with memory
> allocation failure here, too.

Additionally, it looks like hash_rehash has a memory leak - if new_table
is allocated, but we later fail to allocate new_entry, the function
returns immediately without reclaiming new_table.  Which means that even
if an application is prepared to deal with a false return by trying other
means to reduce memory usage rather than just giving up with xalloc_die,
the leaked memory from the previous attempt will interfere.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             [email protected]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkos/FwACgkQ84KuGfSFAYCADACgwm1bO7FqbqYAao9BS+Ue4NG5
J70AoIU22kJ2XGRwQKgIdn+roy3sP/VT
=g3W7
-----END PGP SIGNATURE-----


Reply via email to