Re: [dev] [vis] buffer_alloc issues

From: Silvan Jegen <s.jegen_AT_gmail.com>
Date: Sun, 29 Mar 2015 15:45:50 +0200

Heyho!

On Wed, Mar 25, 2015 at 07:15:08PM +0000, noname_AT_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
Received on Sun Mar 29 2015 - 15:45:50 CEST

This archive was generated by hypermail 2.3.0 : Sun Mar 29 2015 - 15:48:07 CEST