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@gmail.com>
This commit is contained in:
Leo Izen 2023-11-23 10:31:59 -05:00
parent 918b3ed2d5
commit 1f56bfc986
No known key found for this signature in database
GPG Key ID: 5A71C331FD2FA19A
1 changed files with 8 additions and 3 deletions

View File

@ -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);
}
}