diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 6cccbcbe03..49950956b6 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -3719,19 +3719,21 @@ static int matroska_parse_block_additional(MatroskaDemuxContext *matroska, av_free(hdrplus); return res; } - break; + + return 0; } default: - side_data = av_packet_new_side_data(pkt, AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, - size + (size_t)8); - if (!side_data) - return AVERROR(ENOMEM); - - AV_WB64(side_data, id); - memcpy(side_data + 8, data, size); break; } + side_data = av_packet_new_side_data(pkt, AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, + size + (size_t)8); + if (!side_data) + return AVERROR(ENOMEM); + + AV_WB64(side_data, id); + memcpy(side_data + 8, data, size); + return 0; }