[FFmpeg-cvslog] avformat/hls: use av_strlcopy instead of strncpy
Leo Izen
git at videolan.org
Sat Dec 16 11:29:12 EET 2023
ffmpeg | branch: master | Leo Izen <leo.izen at gmail.com> | Thu Nov 23 10:31:59 2023 -0500| [1f56bfc9869b05df7bf15705c3f7b137dece1bd6] | committer: Leo Izen
avformat/hls: use av_strlcopy instead of strncpy
Avoids a -Wstringop-truncation warning by using av_strlcopy instead of
strncpy. Additionally, prints a warning to the log context if this
truncation occurred.
Signed-off-by: Leo Izen <leo.izen at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1f56bfc9869b05df7bf15705c3f7b137dece1bd6
---
libavformat/hls.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/libavformat/hls.c b/libavformat/hls.c
index f5f549b24d..61e2d67588 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -540,11 +540,16 @@ static struct rendition *new_rendition(HLSContext *c, struct rendition_info *inf
}
if (info->assoc_language[0]) {
- int langlen = strlen(rend->language);
+ size_t langlen = strlen(rend->language);
if (langlen < sizeof(rend->language) - 3) {
+ size_t assoc_len;
rend->language[langlen] = ',';
- strncpy(rend->language + langlen + 1, info->assoc_language,
- sizeof(rend->language) - langlen - 2);
+ assoc_len = av_strlcpy(rend->language + langlen + 1,
+ info->assoc_language,
+ sizeof(rend->language) - langlen - 1);
+ if (langlen + assoc_len + 2 > sizeof(rend->language)) // truncation occurred
+ av_log(c->ctx, AV_LOG_WARNING, "Truncated rendition language: %s\n",
+ info->assoc_language);
}
}
More information about the ffmpeg-cvslog
mailing list