Wietse Venema:
> Viktor Dukhovni:
> > On Fri, Mar 19, 2021 at 11:18:27AM -0400, Jaroslav Skarvada wrote:
> > 
> > > 14. postfix-3.5.8/src/util/dict_inline.c:124: uninit_use_in_call: Using 
> > > uninitialized value "value" when calling "dict_file_to_b64".
> > > 17. postfix-3.5.8/src/util/dict_inline.c:125: overwrite_var: Overwriting 
> > > "err" in "err = free_me = dict_file_get_error(dict)" leaks the storage 
> > > that "err" points to.
> > > #   123|   
> > > #   124|->            if ((base64_buf = dict_file_to_b64(dict, value)) == 
> > > 0) {
> > > #   125|->                err = free_me = dict_file_get_error(dict);
> > > #   126|                  break;
> > > #   127|              }
> > > 
> > > I think it could call dict_file_to_b64 with uninitialized value.
> > 
> > Yes, when inline tables in the main.cf file are malformed in a
> > particular way, this may not be handled correctly.  Patch below.
> 
> Can someone provide an input that demonstrates there is a problem?
> 
> The 'value' variable is initialized only when 'err' is zero. Otherwise,
> the loop will be exited before the 'value' variable would be used.

Allright, I found one.

        Wietse

Reply via email to