Heyho! On Wed, Mar 25, 2015 at 07:15:08PM +0000, non...@inventati.org wrote: > There are two issues with buffer_alloc function(s). > > First function is located in buffer.c: > http://repo.or.cz/w/vis.git/blob/HEAD:/buffer.c > > The problem is on line 15: > http://repo.or.cz/w/vis.git/blob/HEAD:/buffer.c#l15 > > If realloc fails, buf->data is set to NULL, but original buf->data is > not freed, see realloc(3). The result of realloc should be stored in > separate variable and buffer_free should be called to free buf->data and > set size and len to 0 if realloc fails.
This is true. In a memory-overcommitting system like Linux, however, this should not be a problem in practice since realloc should never fail. Nevertheless, Marc *may* take a patch for this issue. > Another issue is that there is another buffer_alloc in text.c: > http://repo.or.cz/w/vis.git/blob/HEAD:/text.c > > Maybe these functions and data structures should be renamed to avoid > name conflict. Since the buffer_alloc function in text.c is declared as static this will not be a problem for the compiler. Whether the function name should be changed because of the confusion potential for people reading the code that the maintainer should decide. Cheers, Silvan