Branch: Tag:

2014-10-16

2014-10-16 18:14:55 by Arne Goedeke <el@laramies.com>

decode_value: fix memory leak in PIKE_DEBUG

free_decode_data() might throw errors in PIKE_DEBUG with
!free_after_error, so keep the error handler around to prevent decode
data from leaking.

This is currently triggered when decoding SSL.State and SSL.Session.

4302:       low_do_decode (data);    -  UNSET_ONERROR(err); -  +     {    int delay;   #if TWO_PASS_DECODE_WORKS
4315:    free_decode_data (data, delay, 0);    }    +  UNSET_ONERROR(err); +     return 1;   }