Opened 2 years ago

Closed 2 years ago

#6439 closed defect (invalid)

decode_simple_internal() checks the wrong AVPacket for side data

Reported by: jrummell Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

In tracking down a failing test case in Chromium, I've discovered an inconsistency in decode_simple_internal() in libavcodec/decode.c. If FF_API_MERGE_SD is defined, then av_packet_split_side_data() is called on |tmp|, which is a copy of |pkt|. However, later it calls:

side= av_packet_get_side_data(pkt, AV_PKT_DATA_SKIP_SAMPLES, &side_size);

If the side data was split, then |pkt| won't have the updated side data, and no record is found.

Changing "pkt" to "&tmp" fixes the issue for me, but I'm not sure it's the proper fix.

Change History (1)

comment:1 Changed 2 years ago by cehoyos

  • Resolution set to invalid
  • Status changed from new to closed

Please send your patch - made with git format-patch to the FFmpeg development mailing list, changes should not be discussed here.

Note: See TracTickets for help on using tickets.