Module Name: src Committed By: riastradh Date: Thu Mar 23 19:53:02 UTC 2023
Modified Files: src/sys/nfs: nfs_serv.c Log Message: nfs: Avoid free of uninitialized on bad name size in create, mknod. XXX These error branches are a nightmare and need to be more systematically cleaned up. Even if they are correct now, they are impossible to audit and extremely fragile in case anyone ever needs to make other changes to them. XXX pullup-8 XXX pullup-9 XXX pullup-10 To generate a diff of this commit: cvs rdiff -u -r1.183 -r1.184 src/sys/nfs/nfs_serv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/nfs/nfs_serv.c diff -u src/sys/nfs/nfs_serv.c:1.183 src/sys/nfs/nfs_serv.c:1.184 --- src/sys/nfs/nfs_serv.c:1.183 Wed Apr 27 17:38:52 2022 +++ src/sys/nfs/nfs_serv.c Thu Mar 23 19:53:01 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: nfs_serv.c,v 1.183 2022/04/27 17:38:52 hannken Exp $ */ +/* $NetBSD: nfs_serv.c,v 1.184 2023/03/23 19:53:01 riastradh Exp $ */ /* * Copyright (c) 1989, 1993 @@ -55,7 +55,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: nfs_serv.c,v 1.183 2022/04/27 17:38:52 hannken Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nfs_serv.c,v 1.184 2023/03/23 19:53:01 riastradh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1648,10 +1648,10 @@ nfsmout: vput(nd.ni_dvp); if (nd.ni_vp) vput(nd.ni_vp); - } - if (nd.ni_pathbuf != NULL) { - pathbuf_destroy(nd.ni_pathbuf); - nd.ni_pathbuf = NULL; + if (nd.ni_pathbuf != NULL) { + pathbuf_destroy(nd.ni_pathbuf); + nd.ni_pathbuf = NULL; + } } return (error); } @@ -1801,10 +1801,10 @@ nfsmout: vput(nd.ni_dvp); if (nd.ni_vp) vput(nd.ni_vp); - } - if (nd.ni_pathbuf != NULL) { - pathbuf_destroy(nd.ni_pathbuf); - nd.ni_pathbuf = NULL; + if (nd.ni_pathbuf != NULL) { + pathbuf_destroy(nd.ni_pathbuf); + nd.ni_pathbuf = NULL; + } } if (dirp) vrele(dirp);