summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjca <jca@openbsd.org>2013-08-10 09:51:50 +0000
committerjca <jca@openbsd.org>2013-08-10 09:51:50 +0000
commit652a85cd823dbd71b59db7b0e12359fd050d4dbd (patch)
tree4a1c22a6bb28096196a6c8185c84cfc8dcb9762a
parentRename libkafs5 back to libkafs; that is the real upstream library name (diff)
downloadwireguard-openbsd-652a85cd823dbd71b59db7b0e12359fd050d4dbd.tar.xz
wireguard-openbsd-652a85cd823dbd71b59db7b0e12359fd050d4dbd.zip
Plug fd and mem leak in fuse_open's error path. ok syl@
-rw-r--r--lib/libfuse/fuse.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/libfuse/fuse.c b/lib/libfuse/fuse.c
index 7090239629a..d1ac5b89e8e 100644
--- a/lib/libfuse/fuse.c
+++ b/lib/libfuse/fuse.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fuse.c,v 1.9 2013/08/10 00:30:43 syl Exp $ */
+/* $OpenBSD: fuse.c,v 1.10 2013/08/10 09:51:50 jca Exp $ */
/*
* Copyright (c) 2013 Sylvestre Gallon <ccna.syl@gmail.com>
*
@@ -111,7 +111,7 @@ fuse_mount(const char *dir, unused struct fuse_args *args)
if (fc->dir == NULL)
goto bad;
- if ((fc->fd = open("/dev/fuse0", O_RDWR)) < 0) {
+ if ((fc->fd = open("/dev/fuse0", O_RDWR)) == -1) {
perror(__func__);
goto bad;
}
@@ -135,10 +135,10 @@ fuse_mount(const char *dir, unused struct fuse_args *args)
return (fc);
bad:
- if (fc->fd > 0)
+ if (fc->fd != -1)
close(fc->fd);
- if (fc->dir != NULL)
- free(fc->dir);
+ free(fc->dir);
+ free(fc);
return (NULL);
}