diff options
| author | riastradh <riastradh@NetBSD.org> | 2022-03-12 17:27:50 +0000 |
|---|---|---|
| committer | riastradh <riastradh@NetBSD.org> | 2022-03-12 17:27:50 +0000 |
| commit | 7514fbbbd886426197bc2d65a35aed350eb5efa4 (patch) | |
| tree | 1ceb772bb4fdee3f7b016d08ff55c20facf6a454 /sys/dev | |
| parent | 6583daf00fe7b57a7e0b7aff35606392726079be (diff) | |
ccd(4): Only pathbuf_destroy if pathbuf_copyin succeeded.
Reported-by: syzbot+a46aadc788a80afc8742@syzkaller.appspotmail.com
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ccd.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/ccd.c b/sys/dev/ccd.c index 56f0284fdba..ab3f94bd422 100644 --- a/sys/dev/ccd.c +++ b/sys/dev/ccd.c @@ -1,4 +1,4 @@ -/* $NetBSD: ccd.c,v 1.186 2022/02/11 23:20:09 riastradh Exp $ */ +/* $NetBSD: ccd.c,v 1.187 2022/03/12 17:27:50 riastradh Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 1999, 2007, 2009 The NetBSD Foundation, Inc. @@ -88,7 +88,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ccd.c,v 1.186 2022/02/11 23:20:09 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ccd.c,v 1.187 2022/03/12 17:27:50 riastradh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1313,8 +1313,8 @@ ccdioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l) error = pathbuf_copyin(cpp[i], &pb); if (error == 0) { error = vn_bdev_openpath(pb, &vpp[i], l); + pathbuf_destroy(pb); } - pathbuf_destroy(pb); if (error != 0) { for (j = 0; j < lookedup; ++j) (void)vn_close(vpp[j], FREAD|FWRITE, |
