From 78b02c367e739ac72c94e70c7df9a3e45ab4a36f Mon Sep 17 00:00:00 2001 From: phk Date: Fri, 3 Jul 1998 08:21:05 +0000 Subject: fts_close calls free(sp), the ISSET(FTS_NOCHDIR) which is a macro that references sp. The free needs to follow ISSET PR: 7148 Reviewed by: phk Submitted by: Ken Mayer --- lib/libc/gen/fts-compat.c | 7 ++++--- lib/libc/gen/fts.c | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'lib/libc/gen') diff --git a/lib/libc/gen/fts-compat.c b/lib/libc/gen/fts-compat.c index 73832e5..02cad6c 100644 --- a/lib/libc/gen/fts-compat.c +++ b/lib/libc/gen/fts-compat.c @@ -241,14 +241,15 @@ fts_close(sp) (void)close(sp->fts_rfd); } - /* Free up the stream pointer. */ - free(sp); - /* Set errno and return. */ if (!ISSET(FTS_NOCHDIR) && saved_errno) { + /* Free up the stream pointer. */ + free(sp); errno = saved_errno; return (-1); } + /* Free up the stream pointer. */ + free(sp); return (0); } diff --git a/lib/libc/gen/fts.c b/lib/libc/gen/fts.c index 73832e5..02cad6c 100644 --- a/lib/libc/gen/fts.c +++ b/lib/libc/gen/fts.c @@ -241,14 +241,15 @@ fts_close(sp) (void)close(sp->fts_rfd); } - /* Free up the stream pointer. */ - free(sp); - /* Set errno and return. */ if (!ISSET(FTS_NOCHDIR) && saved_errno) { + /* Free up the stream pointer. */ + free(sp); errno = saved_errno; return (-1); } + /* Free up the stream pointer. */ + free(sp); return (0); } -- cgit v1.1