nfs-utils/nfs-utils-2.5.4-rpcpipefs-warn.patch
Steve Dickson 7e5614398a rpc-pipefs-generator: allocate enough space (bz 2109420)
Signed-off-by: Steve Dickson <steved@redhat.com>
Resolves: bz2109420
2022-07-22 13:31:56 -04:00

32 lines
1.1 KiB
Diff

commit 7f8463fe702174bd613df9d308cc899af25ae02e
Author: Steve Dickson <steved@redhat.com>
Date: Wed Feb 23 15:19:51 2022 -0500
systemd: Fix format-overflow warning
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>
diff --git a/systemd/rpc-pipefs-generator.c b/systemd/rpc-pipefs-generator.c
index c24db567..7b2bb4f7 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) + 1);
- 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)
{