[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