Date: Sun, 23 Nov 2003 12:43:32 +0100 From: Bartek Marcinkiewicz <junior@p233.if.pwr.wroc.pl> To: freebsd-current@freebsd.org Subject: vfs_domount() ->...-> vfs_freeopts() NULL pointer dereferencing Message-ID: <20031123114332.GA1337@p221.if.pwr.wroc.pl>
next in thread | raw e-mail | index | archive | help
Hi, System in question is FreeBSD 5.1-CURRENT, sources for -current cvsupped a few days ago. Problem occurs while mounting ext2fs partition. If VFS_MOUNT() returns error there is null pointer dereference happening in vfs_freeopts() which is called by vfs_mount_destroy() Trace: vfs_freeopts(0, ...) vfs_mount_destroy() vfs_domount() vfs_nmount nmount() offending code: /* Release all resources related to the mount options. */ static void vfs_freeopts(struct vfsoptlist *opts) { struct vfsopt *opt; /* jr */ if (!opts) printf("tailq list opts is NULL pointer\n"); while (!TAILQ_EMPTY(opts)) { opt = TAILQ_FIRST(opts); vfs_freeopt(opts, opt); } free(opts, M_MOUNT); } Trivial patch would be adding: if (!opts) return; but is it correct? best regards, bm. ps. ext2fs was dirty..
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031123114332.GA1337>