Hey, I think that there is a problem with eina_strbuf_append().
buf is initialized with buf->len=0 and buf->size=32 and buf->buf is 32 bytes long. during the first call of _append(), if str="abcd", len = 4. So, _eina_strbuf_grow() does nothing and is replaced by EINA_TRUE. Hence, in _append(), the memcpy is: memcpy(buf->buf, str, 32 - 0 + 1) so we copy too much bytes. So I think that there is a problem in _grow() when size+1 <= buf->size Also, i find strange that only strlen(str) is used and not strlen(str)+1 (we loose the NULL terminating char). Not sure if it's handled somewhere else Seb, can you look at that, please ? Vincent PS: you can thank Opensolaris for spotting that problem :p ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
