[FFmpeg-devel] [PATCH v2] avformat/hls: use av_strlcopy instead of strncpy
Leo Izen
leo.izen at gmail.com
Mon Oct 30 02:33:26 EET 2023
On 10/29/23 20:23, Andreas Rheinhardt wrote:
> Leo Izen:
>> Avoids a -Wstringop-truncation warning by using av_strlcopy instead of
>> strncpy.
>>
>> Signed-off-by: Leo Izen <leo.izen at gmail.com>
>> ---
>> libavformat/hls.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavformat/hls.c b/libavformat/hls.c
>> index f5f549b24d..39440176c9 100644
>> --- a/libavformat/hls.c
>> +++ b/libavformat/hls.c
>> @@ -543,8 +543,8 @@ static struct rendition *new_rendition(HLSContext *c, struct rendition_info *inf
>> int langlen = strlen(rend->language);
>> if (langlen < sizeof(rend->language) - 3) {
>> rend->language[langlen] = ',';
>> - strncpy(rend->language + langlen + 1, info->assoc_language,
>> - sizeof(rend->language) - langlen - 2);
>> + av_strlcpy(rend->language + langlen + 1, info->assoc_language,
>> + sizeof(rend->language) - langlen - 1);
>> }
>> }
>>
>
> As I said before: You are merely hiding the truncation issue instead of
> fixing it.
>
I don't see how? It will only be truncated if info->assoc_language is
very very long, and in that case it won't fit inside a 64-byte buffer so
it will *have* to be truncated. But it will be nul-terminated in either
case, so there's no real difference between the old and new code, other
than the warning.
More information about the ffmpeg-devel
mailing list