summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/libc/gen/fts-compat.c7
-rw-r--r--lib/libc/gen/fts.c7
2 files changed, 8 insertions, 6 deletions
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);
}
OpenPOWER on IntegriCloud