diff options
author | 2020-06-23 13:40:19 +0000 | |
---|---|---|
committer | 2020-06-23 13:40:19 +0000 | |
commit | 0d46c0de6e083e9b06786072438634c6646fa1ef (patch) | |
tree | a9d321ea2ed021d91c2805bca66810004430cd3b | |
parent | 'wgkey (pub)' was renamed to 'wgpubkey'. (diff) | |
download | wireguard-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.c | 13 |
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) |