diff mbox series

systemd: Fix format-overflow warning

Message ID 20220223202120.126170-1-steved@redhat.com (mailing list archive)
State New, archived
Headers show
Series systemd: Fix format-overflow warning | expand

Commit Message

Steve Dickson Feb. 23, 2022, 8:21 p.m. UTC
rpc-pipefs-generator.c:35:23: error: '%s' directive output between 0 and 2147483653 bytes may exceed minimum required size of 4095 [-Werror=format-overflow=]
   35 |         sprintf(path, "%s/%s", dirname, pipefs_unit);
      |                       ^

Signed-off-by: Steve Dickson <steved@redhat.com>
---
 systemd/rpc-pipefs-generator.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Steve Dickson Feb. 28, 2022, 8:25 p.m. UTC | #1
On 2/23/22 3:21 PM, Steve Dickson wrote:
> rpc-pipefs-generator.c:35:23: error: '%s' directive output between 0 and 2147483653 bytes may exceed minimum required size of 4095 [-Werror=format-overflow=]
>     35 |         sprintf(path, "%s/%s", dirname, pipefs_unit);
>        |                       ^
> 
> Signed-off-by: Steve Dickson <steved@redhat.com>
Committed... (tag: nfs-utils-2-6-2-rc3)

steved.
> ---
>   systemd/rpc-pipefs-generator.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/systemd/rpc-pipefs-generator.c b/systemd/rpc-pipefs-generator.c
> index c24db56..7b2bb4f 100644
> --- a/systemd/rpc-pipefs-generator.c
> +++ b/systemd/rpc-pipefs-generator.c
> @@ -28,11 +28,12 @@ static int generate_mount_unit(const char *pipefs_path, const char *pipefs_unit,
>   {
>   	char	*path;
>   	FILE	*f;
> +	size_t size = (strlen(dirname) + 1 + strlen(pipefs_unit));
>   
> -	path = malloc(strlen(dirname) + 1 + strlen(pipefs_unit));
> +	path = malloc(size);
>   	if (!path)
>   		return 1;
> -	sprintf(path, "%s/%s", dirname, pipefs_unit);
> +	snprintf(path, size, "%s/%s", dirname, pipefs_unit);
>   	f = fopen(path, "w");
>   	if (!f)
>   	{
diff mbox series

Patch

diff --git a/systemd/rpc-pipefs-generator.c b/systemd/rpc-pipefs-generator.c
index c24db56..7b2bb4f 100644
--- a/systemd/rpc-pipefs-generator.c
+++ b/systemd/rpc-pipefs-generator.c
@@ -28,11 +28,12 @@  static int generate_mount_unit(const char *pipefs_path, const char *pipefs_unit,
 {
 	char	*path;
 	FILE	*f;
+	size_t size = (strlen(dirname) + 1 + strlen(pipefs_unit));
 
-	path = malloc(strlen(dirname) + 1 + strlen(pipefs_unit));
+	path = malloc(size);
 	if (!path)
 		return 1;
-	sprintf(path, "%s/%s", dirname, pipefs_unit);
+	snprintf(path, size, "%s/%s", dirname, pipefs_unit);
 	f = fopen(path, "w");
 	if (!f)
 	{