From: Michael Niedermayer <michael@niedermayer.cc> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: [FFmpeg-devel] [PATCH 3/3] avformat/mpeg: Fix filename extension check for subtitle file Date: Sat, 6 May 2023 15:25:03 +0200 Message-ID: <20230506132503.9524-3-michael@niedermayer.cc> (raw) In-Reply-To: <20230506132503.9524-1-michael@niedermayer.cc> This fixes undefined behavior and other issues. No testcase, this was found by code review Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- libavformat/mpeg.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index 781c3162d6..fdc808dc50 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -756,12 +756,17 @@ static int vobsub_read_header(AVFormatContext *s) } fname_len = strlen(vobsub->sub_name); - ext = vobsub->sub_name - 3 + fname_len; - if (fname_len < 4 || *(ext - 1) != '.') { + if (fname_len < 4) { av_log(s, AV_LOG_ERROR, "The input index filename is too short " "to guess the associated .SUB file\n"); return AVERROR_INVALIDDATA; } + ext = vobsub->sub_name + fname_len - 3; + if (*(ext - 1) != '.' || strchr(ext, '/')) { + av_log(s, AV_LOG_ERROR, "The input index filename needs to have a 3 letter extension " + "to guess the associated .SUB file\n"); + return AVERROR_INVALIDDATA; + } memcpy(ext, !strncmp(ext, "IDX", 3) ? "SUB" : "sub", 3); av_log(s, AV_LOG_VERBOSE, "IDX/SUB: %s -> %s\n", s->url, vobsub->sub_name); } -- 2.17.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2023-05-06 13:25 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-05-06 13:25 [FFmpeg-devel] [PATCH 1/3] avformat/dashdec: fail on probing non mpd file extension Michael Niedermayer 2023-05-06 13:25 ` [FFmpeg-devel] [PATCH 2/3] avformat/imfdec: fail on probing non xml " Michael Niedermayer 2023-05-06 18:01 ` Pierre-Anthony Lemieux 2023-05-07 19:18 ` Michael Niedermayer 2023-05-08 5:09 ` Pierre-Anthony Lemieux 2023-05-08 18:23 ` Michael Niedermayer 2023-05-08 18:40 ` Pierre-Anthony Lemieux 2023-05-08 22:01 ` Michael Niedermayer 2023-05-08 22:13 ` Pierre-Anthony Lemieux 2023-05-06 13:25 ` Michael Niedermayer [this message] 2023-05-07 20:41 ` [FFmpeg-devel] [PATCH 1/3] avformat/dashdec: fail on probing non mpd " Anton Khirnov 2023-05-08 12:00 ` James Almer 2023-05-08 14:05 ` Tobias Rapp 2023-05-08 14:38 ` Pierre-Anthony Lemieux 2023-05-08 17:10 ` Michael Niedermayer 2023-05-08 17:34 ` Pierre-Anthony Lemieux 2023-05-08 22:35 ` Michael Niedermayer 2023-05-09 6:19 ` Anton Khirnov 2023-05-09 7:35 ` Tobias Rapp 2023-05-09 20:02 ` Michael Niedermayer 2023-05-09 20:44 ` Michael Niedermayer 2023-05-10 6:44 ` Tobias Rapp 2023-05-10 14:01 ` Michael Niedermayer
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230506132503.9524-3-michael@niedermayer.cc \ --to=michael@niedermayer.cc \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git