From 5d82438617a4d0383b008afdb331b90e7ecb1d76 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Mon, 2 Feb 2009 19:22:53 +0000 Subject: [PATCH] - Use a separate pointer to the allocated memory for freeing, as strsep may modify the pointer argument passed to it. This triggered an assert in malloc when a geom command being run under the livefs environment. PR: bin/130632 Submitted by: Dimitry Andric Pointy hat to: me MFC after: 2 days --- sbin/geom/core/geom.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sbin/geom/core/geom.c b/sbin/geom/core/geom.c index f0d82e8120f9..f7656dc712f9 100644 --- a/sbin/geom/core/geom.c +++ b/sbin/geom/core/geom.c @@ -487,13 +487,13 @@ library_path(void) static void load_library(void) { - char *curpath, path[MAXPATHLEN], *totalpath; + char *curpath, path[MAXPATHLEN], *tofree, *totalpath; uint32_t *lib_version; void *dlh; int ret; ret = 0; - totalpath = strdup(library_path()); + tofree = totalpath = strdup(library_path()); if (totalpath == NULL) err(EXIT_FAILURE, "Not enough memory for library path"); @@ -519,7 +519,7 @@ load_library(void) } break; } - free(totalpath); + free(tofree); /* No library was found, but standard commands can still be used */ if (ret == -1) return;