[Tarantool-patches] [PATCH 1/1] app: os.setenv() affects	os.environ()
    Nikita Pettik 
    korablev at tarantool.org
       
    Thu Feb 20 00:42:45 MSK 2020
    
    
  
On 06 Feb 23:47, Vladislav Shpilevoy wrote:
> os.setenv() and os.environ() are Lua API for
> 
>     extern char **environ;
>     int setenv();
> 
> The Open Group standardized access points for environment
> variables. But there is no a word about that environ never
> changes. Programs can't relay on that. For example, addition of
> a new variable may cause realloc of the whole environ array, and
> therefore change of its pointer value. That was exactly the case
> in os.environ() - it was using value of environ array remembered
> when Tarantool started.
> 
> And os.setenv() could realloc the array and turn the saved pointer
> into garbage.
> 
> Closes #4733
> ---
LGTM
    
    
More information about the Tarantool-patches
mailing list