Message ID | 20231123153159.1376918-1-leo.izen@gmail.com |
---|---|
State | Accepted |
Commit | 1f56bfc9869b05df7bf15705c3f7b137dece1bd6 |
Headers | show |
Series | [FFmpeg-devel,v3] avformat/hls: use av_strlcopy instead of strncpy | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On 11/23/23 10:31, Leo Izen wrote: > 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@gmail.com> > --- Bump, thanks. - Leo Izen (Traneptora)
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); } }
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@gmail.com> --- libavformat/hls.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)