[PATCH] Remove redundant code
Alejandro Colomar
alx@kernel.org
Fri Oct 10 15:51:13 GMT 2025
free(3) guarantees preservation of errno.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
---
Hi!
While having a look at code implementing and using realloc(3), I found
some cases of dead code around free(3). Here's some patch to remove it.
I've ran 'make check', to make sure there are no regressions. Both
before and after this patch, I see
=== Summary of results ===
8 FAIL
7000 PASS
92 UNSUPPORTED
16 XFAIL
4 XPASS
Have a lovely day!
Alex
hesiod/hesiod.c | 2 --
io/ftw.c | 7 -------
2 files changed, 9 deletions(-)
diff --git a/hesiod/hesiod.c b/hesiod/hesiod.c
index fe61d0d565..0023d20ed2 100644
--- a/hesiod/hesiod.c
+++ b/hesiod/hesiod.c
@@ -135,12 +135,10 @@ hesiod_init(void **context) {
void
hesiod_end(void *context) {
struct hesiod_p *ctx = (struct hesiod_p *) context;
- int save_errno = errno;
free(ctx->RHS);
free(ctx->LHS);
free(ctx);
- __set_errno(save_errno);
}
/*
diff --git a/io/ftw.c b/io/ftw.c
index dce2e67f72..d6c53939d0 100644
--- a/io/ftw.c
+++ b/io/ftw.c
@@ -306,9 +306,7 @@ open_dir_stream (int *dfdp, struct ftw_data *data, struct dir_data *dirp)
if (newp == NULL)
{
/* No more memory. */
- int save_err = errno;
free (buf);
- __set_errno (save_err);
return -1;
}
buf = newp;
@@ -327,9 +325,7 @@ open_dir_stream (int *dfdp, struct ftw_data *data, struct dir_data *dirp)
data->dirstreams[data->actdir]->content = content;
if (content == NULL)
{
- int save_err = errno;
free (buf);
- __set_errno (save_err);
result = -1;
}
else
@@ -571,7 +567,6 @@ fail:
}
else
{
- int save_err;
char *runp = dir.content;
while (result == 0 && *runp != '\0')
@@ -584,9 +579,7 @@ fail:
runp = endp + 1;
}
- save_err = errno;
free (dir.content);
- __set_errno (save_err);
}
if ((data->flags & FTW_ACTIONRETVAL) && result == FTW_SKIP_SIBLINGS)
--
2.51.0
More information about the Libc-alpha
mailing list