szatmary / libcaption

Free open-source CEA608 / CEA708 closed-caption encoder/decoder
MIT License
151 stars 64 forks source link

flv+srt crash #46

Open apsoto opened 6 years ago

apsoto commented 6 years ago

Hey There,

Attached is a sample srt file that crashes flv+srt

I used my samples in the tarbal to run git-bisect and I found that it reports 3fb17d55156d0cc80f6cf6fe3fc9daa9f906ee8f as the bad commit.

The interesting thing is that I can manually edit the srt file and remove the last caption/cue entry and flv+srt succeeds.

I tried looking through a hex editor for any strange hidden characters but nothing stood out, so I can't explain why that edit allows the process to succeed.

NOTE: The srt file has been 'anonymized' by replacing every alpha character (a-zA-z) with the letter a.

srt-crash.tar.gz

I'd be happy to provide more testing help as needed.

My test environment is:

$ uname -a
Linux ip-10-0-0-19 4.4.0-1066-aws #76-Ubuntu SMP Thu Aug 16 16:21:21 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

$ ffmpeg -version
ffmpeg version N-87739-g1fd8010 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 20160609
configuration: --prefix=/home/ubuntu/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/ubuntu/ffmpeg_build/include --extra-ldflags=-L/home/ubuntu/ffmpeg_build/lib --bindir=/home/ubuntu/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
libavutil      55. 77.101 / 55. 77.101
libavcodec     57.106.104 / 57.106.104
libavformat    57. 82.102 / 57. 82.102
libavdevice    57.  9.101 / 57.  9.101
libavfilter     6.106.100 /  6.106.100
libswscale      4.  7.103 /  4.  7.103
libswresample   2.  8.100 /  2.  8.100
libpostproc    54.  6.100 / 54.  6.100