summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkrw <krw@openbsd.org>2020-06-23 13:40:19 +0000
committerkrw <krw@openbsd.org>2020-06-23 13:40:19 +0000
commit0d46c0de6e083e9b06786072438634c6646fa1ef (patch)
treea9d321ea2ed021d91c2805bca66810004430cd3b
parent'wgkey (pub)' was renamed to 'wgpubkey'. (diff)
downloadwireguard-openbsd-0d46c0de6e083e9b06786072438634c6646fa1ef.tar.xz
wireguard-openbsd-0d46c0de6e083e9b06786072438634c6646fa1ef.zip
hashfree() doesn't like NULL, so check for NULL if NULL is a
possibility. i.e. when bailing out before calling hashinit().. COVERITY 1452907 ok mpi@
-rw-r--r--sys/isofs/udf/udf_vfsops.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/isofs/udf/udf_vfsops.c b/sys/isofs/udf/udf_vfsops.c
index 384ddca7383..7e2bd89e643 100644
--- a/sys/isofs/udf/udf_vfsops.c
+++ b/sys/isofs/udf/udf_vfsops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: udf_vfsops.c,v 1.67 2019/12/26 13:28:49 bluhm Exp $ */
+/* $OpenBSD: udf_vfsops.c,v 1.68 2020/06/23 13:40:19 krw Exp $ */
/*
* Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org>
@@ -430,12 +430,13 @@ udf_mountfs(struct vnode *devvp, struct mount *mp, uint32_t lb, struct proc *p)
return (0);
bail:
- if (ump != NULL) {
+ if (ump->um_hashtbl != NULL)
hashfree(ump->um_hashtbl, UDF_HASHTBLSIZE, M_UDFMOUNT);
- free(ump, M_UDFMOUNT, 0);
- mp->mnt_data = NULL;
- mp->mnt_flag &= ~MNT_LOCAL;
- }
+
+ free(ump, M_UDFMOUNT, sizeof(*ump));
+ mp->mnt_data = NULL;
+ mp->mnt_flag &= ~MNT_LOCAL;
+
if (devvp->v_specinfo)
devvp->v_specmountpoint = NULL;
if (bp != NULL)