Skip to content
Snippets Groups Projects
  • Christophe Gisquet's avatar
    33fefdb4
    ffmpeg: fix streamcopy with side data · 33fefdb4
    Christophe Gisquet authored
    
    The issue is that, when the main packet data buffer is changed, streamcopy
    uses a temporary new packet to store that buffer, frees the old packet, and
    replace it with the new packet.
    
    However, in doing so, it forgets about the side data, which gets freed, but
    is still needed and referenced. Then, when the packet gets freed again in
    the normal code path, it attempts to free its side data which has already
    been freed.
    
    Therefore, simply avoid the first free on side data by removing that side
    data from the packet.
    
    Fixes ticket #3773.
    
    Signed-off-by: default avatarMichael Niedermayer <michaelni@gmx.at>
    33fefdb4
    History
    ffmpeg: fix streamcopy with side data
    Christophe Gisquet authored
    
    The issue is that, when the main packet data buffer is changed, streamcopy
    uses a temporary new packet to store that buffer, frees the old packet, and
    replace it with the new packet.
    
    However, in doing so, it forgets about the side data, which gets freed, but
    is still needed and referenced. Then, when the packet gets freed again in
    the normal code path, it attempts to free its side data which has already
    been freed.
    
    Therefore, simply avoid the first free on side data by removing that side
    data from the packet.
    
    Fixes ticket #3773.
    
    Signed-off-by: default avatarMichael Niedermayer <michaelni@gmx.at>