On 10/12/2018 00:57, Carl Eugen Hoyos wrote: > 2018-12-09 19:03 GMT+01:00, Mark Thompson <s...@jkqxz.net>: >> On 06/12/2018 22:26, Carl Eugen Hoyos wrote: >>> Hi! >>> >>> Attached patch silences a new gcc warning, alternative would be to >>> disable the warning. >>> >>> Please comment, Carl Eugen >>> >>> >>> From dd49cddc6fad136222d4a168301059d55fea4a4c Mon Sep 17 00:00:00 2001 >>> From: Carl Eugen Hoyos <ceffm...@gmail.com> >>> Date: Thu, 6 Dec 2018 23:23:12 +0100 >>> Subject: [PATCH] lavf/matroskadec: Do not use strncat() to limit copying a >>> one-char constant. >>> >>> Silences a warning: >>> libavformat/matroskadec.c: In function 'webm_dash_manifest_cues': >>> libavformat/matroskadec.c:3947:13: warning: 'strncat' specified bound 1 >>> equals source length [-Wstringop-overflow=] >>> strncat(buf, ",", 1); >>> ^~~~~~~~~~~~~~~~~~~~ >>> --- >>> libavformat/matroskadec.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c >>> index 2daa1db..df820b4 100644 >>> --- a/libavformat/matroskadec.c >>> +++ b/libavformat/matroskadec.c >>> @@ -3944,7 +3944,7 @@ static int webm_dash_manifest_cues(AVFormatContext >>> *s, int64_t init_range) >>> } >>> end += ret; >>> if (i != s->streams[0]->nb_index_entries - 1) { >>> - strncat(buf, ",", 1); >>> + strcat(buf, ","); >>> end++; >>> } >>> } >>> -- >>> 1.7.10.4 >>> >> >> LGTM. >> >> (Optional: perhaps nicer to remove that code fragment with the str(n?)cat >> completely by including the comma in the snprintf above, as '"%s", i != >> s->streams[0]->nb_index_entries - 1 ? "," : ""'?) > > New patch attached. > > Please review, Carl Eugen > > > From 082bce9706a4c326187ae543d8b8aa93424c48b0 Mon Sep 17 00:00:00 2001 > From: Carl Eugen Hoyos <ceffm...@gmail.com> > Date: Mon, 10 Dec 2018 01:55:15 +0100 > Subject: [PATCH] lavf/matroskadec: Do not use strncat() to limit copying a > one-char constant. > > Instead add the character to the snprintf above as suggested by Mark. > > Silences a warning: > libavformat/matroskadec.c: In function 'webm_dash_manifest_cues': > libavformat/matroskadec.c:3947:13: warning: 'strncat' specified bound 1 > equals source length [-Wstringop-overflow=] > strncat(buf, ",", 1); > ^~~~~~~~~~~~~~~~~~~~ > --- > libavformat/matroskadec.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c > index 2daa1db..4ad99db 100644 > --- a/libavformat/matroskadec.c > +++ b/libavformat/matroskadec.c > @@ -3936,17 +3936,14 @@ static int webm_dash_manifest_cues(AVFormatContext > *s, int64_t init_range) > strcpy(buf, ""); > for (i = 0; i < s->streams[0]->nb_index_entries; i++) { > int ret = snprintf(buf + end, 20, > - "%" PRId64, > s->streams[0]->index_entries[i].timestamp); > + "%" PRId64"%s", > s->streams[0]->index_entries[i].timestamp, > + i != s->streams[0]->nb_index_entries - 1 ? "," : > ""); > if (ret <= 0 || (ret == 20 && i == s->streams[0]->nb_index_entries > - 1)) { > av_log(s, AV_LOG_ERROR, "timestamp too long.\n"); > av_free(buf); > return AVERROR_INVALIDDATA; > } > end += ret; > - if (i != s->streams[0]->nb_index_entries - 1) { > - strncat(buf, ",", 1); > - end++; > - } > } > av_dict_set(&s->streams[0]->metadata, CUE_TIMESTAMPS, buf, 0); > av_free(buf); > -- > 1.7.10.4
Yep, LGTM. Thanks, - Mark _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel