Merge pull request #292 from giuseppe/fix-mem-leak-on-errors

main: fix some issues reported by static analysis
This commit is contained in:
Daniel J Walsh 2021-04-19 10:17:26 -04:00 committed by GitHub
commit 29c8c6f9ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

7
main.c
View File

@ -5033,7 +5033,6 @@ do_fsync (fuse_req_t req, fuse_ino_t ino, int datasync, int fd)
struct ovl_node *node; struct ovl_node *node;
struct ovl_data *lo = ovl_data (req); struct ovl_data *lo = ovl_data (req);
cleanup_lock int l = 0; cleanup_lock int l = 0;
char path[PATH_MAX];
if (!lo->fsync) if (!lo->fsync)
{ {
@ -5059,9 +5058,6 @@ do_fsync (fuse_req_t req, fuse_ino_t ino, int datasync, int fd)
return; return;
} }
if (fd < 0)
strncpy (path, node->path, PATH_MAX);
if (! do_fsync) if (! do_fsync)
{ {
fuse_reply_err (req, 0); fuse_reply_err (req, 0);
@ -5069,7 +5065,7 @@ do_fsync (fuse_req_t req, fuse_ino_t ino, int datasync, int fd)
} }
if (do_fsync) if (do_fsync)
ret = direct_fsync (node->layer, fd, path, datasync); ret = direct_fsync (node->layer, fd, node->path, datasync);
fuse_reply_err (req, ret == 0 ? 0 : errno); fuse_reply_err (req, ret == 0 ? 0 : errno);
} }
@ -5464,6 +5460,7 @@ load_default_plugins ()
if (asprintf (&new_plugins, "%s/%s:%s", PKGLIBEXECDIR, dent->d_name, plugins) < 0) if (asprintf (&new_plugins, "%s/%s:%s", PKGLIBEXECDIR, dent->d_name, plugins) < 0)
{ {
free (plugins); free (plugins);
closedir (dp);
return NULL; return NULL;
} }
free (plugins); free (plugins);