On 10/26/23 06:54, Andreas Rheinhardt wrote:
Leo Izen:
Avoids a -Wstringop-truncation warning by using av_strlcopy instead of
strncpy.

Signed-off-by: Leo Izen <leo.i...@gmail.com>
---
  libavformat/hls.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/hls.c b/libavformat/hls.c
index f5f549b24d..076f92ecfb 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -543,7 +543,7 @@ 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,
+            av_strlcpy(rend->language + langlen + 1, info->assoc_language,
                      sizeof(rend->language) - langlen - 2);
          }
      }

Doesn't this just silence the warning instead of fixing the potential
truncation?

- Andreas


The semantics of strlcpy and strncpy are slightly different. strlcopy *always* nul-terminates the destination string. strncpy zeroes the buffer and then runs memcpy, so if it would overflow the buffer the string ends up without a nul-terminator. The warning triggers because the compiler thinks that case can occur.

- Leo Izen
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to