• A
    Avoid double free when processing DTLS packets. · bff1ce4e
    Adam Langley 提交于
    The |item| variable, in both of these cases, may contain a pointer to a
    |pitem| structure within |s->d1->buffered_messages|. It was being freed
    in the error case while still being in |buffered_messages|. When the
    error later caused the |SSL*| to be destroyed, the item would be double
    freed.
    
    Thanks to Wah-Teh Chang for spotting that the fix in 1632ef74 was
    inconsistent with the other error paths (but correct).
    
    Fixes CVE-2014-3505
    Reviewed-by: NMatt Caswell <matt@openssl.org>
    Reviewed-by: NEmilia Käsper <emilia@openssl.org>
    bff1ce4e
d1_both.c 40.9 KB