Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Leo Izen <leo.izen@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH] avformat/hls: use av_strlcopy instead of strncpy
Date: Thu, 26 Oct 2023 08:01:49 -0400
Message-ID: <4e372186-3b34-4df3-a0be-79d15054adb9@gmail.com> (raw)
In-Reply-To: <AS8P250MB07449220F987CEB3BC253E9F8FDDA@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM>


On 10/26/23 07:32, Andreas Rheinhardt wrote:
> 
> This case can't happen here, because it only copies
> "sizeof(rend->language) - langlen - 2" bytes at most from position where
> sizeof(rend->language) - langlen - 1 are available, so the initial
> trailing \0 never gets touched. You did not touch the size part of the
> call, so you effectively only use sizeof(rend->language) - 1 bytes of
> the buffer, thereby making the truncation issue worse. And even if you
> fixed this part, you would still just have silenced the truncation
> instead of fixing it.
> 
> - Andreas
> 

Truncation can happen if info->assoc_language is very long, i.e. uses 
the full buffer (63 chars plus a 64th for nul).

In that case, strncpy will truncate, but because there's a -2 in the 
size argument, instead of -1, the resulting buffer will still be 
nul-terminated. The compiler doesn't know this, so it produces a warning.

It seems the appropriate fix here is to change strncpy to av_strlcpy but
also change the -2 to a -1. This will produce identical behavior to 
before, but it won't cause the compiler to produce a warning that the 
string might not be nul-terminated (cause it will always be).

- Leo Izen (Traneptora)

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

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

      reply	other threads:[~2023-10-26 12:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-26  3:14 Leo Izen
2023-10-26  3:23 ` Steven Liu
2023-10-26 10:54 ` Andreas Rheinhardt
2023-10-26 11:08   ` Leo Izen
2023-10-26 11:32     ` Andreas Rheinhardt
2023-10-26 12:01       ` Leo Izen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4e372186-3b34-4df3-a0be-79d15054adb9@gmail.com \
    --to=leo.izen@gmail.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git