[Gluster-devel] Unchecked malloc
Emmanuel Dreyfus
manu at netbsd.org
Thu Feb 13 01:13:56 UTC 2014
Hi
I have hit another unchecked malloc bug in 3.5.0beta3:
libglusterfs/src/mem-pool.c:mem_get()
ptr = GF_CALLOC (1, mem_pool->padded_sizeof_type,
gf_common_mt_mem_pool);
/* Memory coming from the heap need not be transformed from a
* chunkhead to a usable pointer since it is not coming from
* the pool.
*/
}
fwd_addr_out:
pool_ptr = mem_pool_from_ptr (ptr);
*pool_ptr = (struct mem_pool *)mem_pool;
And here it crashes because pool_ptr was derived from ptr, which is NULL.
I submitted a change for this (http://review.gluster.org/6796), which was
reviewed -1, and indeed it is not good enough because:
1) it is incomplete, as unchecked mallocs are now very common in glusterfs
code, and
2) as I do not know enough about glusterfs internals, I cannot propose
appropriate outcomes for various failures. Clearly someone else more
knowledgable than me has to handle it.
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu at netbsd.org
More information about the Gluster-devel
mailing list