[FFmpeg-devel] Fwd: Questionable libav code
    Ratin 
    ratin3 at gmail.com
       
    Tue Feb  2 23:31:20 CET 2016
    
    
  
libavcodec has codes like this one (utils.c):
static AVPacket *add_to_pktbuf(AVPacketList **packet_buffer, AVPacket *pkt,
                               AVPacketList **plast_pktl)
{
    AVPacketList *pktl = av_mallocz(sizeof(AVPacketList));
    if (!pktl)
        return NULL;
    if (*packet_buffer)
        (*plast_pktl)->next = pktl;
    else
        *packet_buffer = pktl;
    /* Add the packet in the buffered packet list. */
    *plast_pktl = pktl;
    pktl->pkt   = *pkt; <===========================
    return &pktl->pkt;
}
Here a struct variable is meant to be copied over via assignment, is that
100% correct to always work the way was intended?  Given that the struct
pkt is a big struct which has raw bytes that are malloc'd. I was always
trained to avoid such struct assignment operations. What do people think?
Ratin
    
    
More information about the ffmpeg-devel
mailing list