Cleanup: initialize data to 0
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 8 May 2017 12:15:20 +0000 (08:15 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 9 May 2017 12:24:26 +0000 (08:24 -0400)
Valgrind catches read of uninitialized data caused by the on-stack
"data" argument which ends up not being fully initialized (it contains a
union).

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/common/runas.c

index 081a3d28e98e4eac9bf236ac4825319d3828f0b4..946ea3101ab92771ec8fd45009bd00bf37e8fe8b 100644 (file)
@@ -466,6 +466,7 @@ int run_as_mkdir_recursive(const char *path, mode_t mode, uid_t uid, gid_t gid)
 {
        struct run_as_data data;
 
+       memset(&data, 0, sizeof(data));
        DBG3("mkdir() recursive %s with mode %d for uid %d and gid %d",
                        path, (int) mode, (int) uid, (int) gid);
        strncpy(data.u.mkdir.path, path, PATH_MAX - 1);
@@ -479,6 +480,7 @@ int run_as_mkdir(const char *path, mode_t mode, uid_t uid, gid_t gid)
 {
        struct run_as_data data;
 
+       memset(&data, 0, sizeof(data));
        DBG3("mkdir() %s with mode %d for uid %d and gid %d",
                        path, (int) mode, (int) uid, (int) gid);
        strncpy(data.u.mkdir.path, path, PATH_MAX - 1);
@@ -492,6 +494,7 @@ int run_as_open(const char *path, int flags, mode_t mode, uid_t uid, gid_t gid)
 {
        struct run_as_data data;
 
+       memset(&data, 0, sizeof(data));
        DBG3("open() %s with flags %X mode %d for uid %d and gid %d",
                        path, flags, (int) mode, (int) uid, (int) gid);
        strncpy(data.u.open.path, path, PATH_MAX - 1);
@@ -506,6 +509,7 @@ int run_as_unlink(const char *path, uid_t uid, gid_t gid)
 {
        struct run_as_data data;
 
+       memset(&data, 0, sizeof(data));
        DBG3("unlink() %s with for uid %d and gid %d",
                        path, (int) uid, (int) gid);
        strncpy(data.u.unlink.path, path, PATH_MAX - 1);
This page took 0.026727 seconds and 4 git commands to generate.