From: Pierre-Anthony Lemieux <pal@sandflow.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH 1/2] avformat/imfdec: do not use filesize when reading XML file Date: Sun, 9 Jan 2022 16:37:42 -0800 Message-ID: <CAF_7JxCT9KHzqhOJ7_C2mj-f0P7q46eNhUyJgPJ-+yagTfW41A@mail.gmail.com> (raw) In-Reply-To: <e919ab26-d7e5-37c-a6ef-9d9bff7d32b@passwd.hu> On Sat, Jan 8, 2022 at 10:49 AM Marton Balint <cus@passwd.hu> wrote: > > > > On Sat, 1 Jan 2022, Marton Balint wrote: > > > Signed-off-by: Marton Balint <cus@passwd.hu> > > --- > > libavformat/imfdec.c | 15 ++++----------- > > 1 file changed, 4 insertions(+), 11 deletions(-) > > > > diff --git a/libavformat/imfdec.c b/libavformat/imfdec.c > > index f17064cfcd..ef1e7cf206 100644 > > --- a/libavformat/imfdec.c > > +++ b/libavformat/imfdec.c > > @@ -73,8 +73,6 @@ > > #include <inttypes.h> > > #include <libxml/parser.h> > > > > -#define MAX_BPRINT_READ_SIZE (UINT_MAX - 1) > > -#define DEFAULT_ASSETMAP_SIZE 8 * 1024 > > #define AVRATIONAL_FORMAT "%d/%d" > > #define AVRATIONAL_ARG(rational) rational.num, rational.den > > > > @@ -279,7 +277,6 @@ static int parse_assetmap(AVFormatContext *s, const char *url) > > const char *base_url; > > char *tmp_str = NULL; > > int ret; > > - int64_t filesize; > > > > av_log(s, AV_LOG_DEBUG, "Asset Map URL: %s\n", url); > > > > @@ -289,13 +286,10 @@ static int parse_assetmap(AVFormatContext *s, const char *url) > > if (ret < 0) > > return ret; > > > > - filesize = avio_size(in); > > - filesize = filesize > 0 ? filesize : DEFAULT_ASSETMAP_SIZE; > > + av_bprint_init(&buf, 0, INT_MAX); // xmlReadMemory uses integer length > > > > - av_bprint_init(&buf, filesize + 1, AV_BPRINT_SIZE_UNLIMITED); > > - > > - ret = avio_read_to_bprint(in, &buf, MAX_BPRINT_READ_SIZE); > > - if (ret < 0 || !avio_feof(in) || buf.len == 0) { > > + ret = avio_read_to_bprint(in, &buf, SIZE_MAX); > > + if (ret < 0 || !avio_feof(in)) { > > av_log(s, AV_LOG_ERROR, "Unable to read to asset map '%s'\n", url); > > if (ret == 0) > > ret = AVERROR_INVALIDDATA; > > @@ -311,8 +305,7 @@ static int parse_assetmap(AVFormatContext *s, const char *url) > > } > > base_url = av_dirname(tmp_str); > > > > - filesize = buf.len; > > - doc = xmlReadMemory(buf.str, filesize, url, NULL, 0); > > + doc = xmlReadMemory(buf.str, buf.len, url, NULL, 0); > > > > ret = parse_imf_asset_map_from_xml_dom(s, doc, &c->asset_locator_map, base_url); > > if (!ret) > > Will apply the series tomorrow. It looks like the same code exists at libavformat/imf_cpl.c [1]. [1] https://github.com/FFmpeg/FFmpeg/blob/ce4d459db186a7d8ac842685cd6256c9ac1b7f25/libavformat/imf_cpl.c#L795 Does it need to be changed there as well? > > Regards, > Marton > _______________________________________________ > 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". _______________________________________________ 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:[~2022-01-10 0:37 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-01-01 19:20 Marton Balint 2022-01-01 19:20 ` [FFmpeg-devel] [PATCH 2/2] avformat/dashdec: " Marton Balint 2022-01-08 18:49 ` [FFmpeg-devel] [PATCH 1/2] avformat/imfdec: " Marton Balint 2022-01-10 0:37 ` Pierre-Anthony Lemieux [this message] 2022-01-10 19:55 ` Marton Balint
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=CAF_7JxCT9KHzqhOJ7_C2mj-f0P7q46eNhUyJgPJ-+yagTfW41A@mail.gmail.com \ --to=pal@sandflow.com \ --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