The patch below removes a log_warn in case the server does not find
a custom error page as this is nothing to warn about (either because
the generic template file [err.html] is used or fallback to built-in
pages is intended). It also removes two unnecessary assignments and
adapts the comment to the implementation.
Index: usr.sbin/httpd/server_http.c
===================================================================
RCS file: /cvs/src/usr.sbin/httpd/server_http.c,v
retrieving revision 1.149
diff -u -p -u -p -r1.149 server_http.c
--- usr.sbin/httpd/server_http.c 11 Nov 2021 15:52:33 -0000 1.149
+++ usr.sbin/httpd/server_http.c 5 Dec 2021 07:21:37 -0000
@@ -1759,22 +1759,20 @@ server_httperror_cmp(const void *a, cons
}
/*
- * return -1 on failure, strlen() of read file otherwise.
- * body is NULL on failure, contents of file with trailing \0 otherwise.
+ * return NULL if file does not exist or on failure,
+ * contents of file with trailing \0 otherwise.
*/
char *
read_errdoc(const char *root, const char *file)
{
struct stat sb;
- char *path;
+ char *path, *ret;
int fd;
- char *ret = NULL;
if (asprintf(&path, "%s/%s.html", root, file) == -1)
fatal("asprintf");
if ((fd = open(path, O_RDONLY)) == -1) {
free(path);
- log_warn("%s: open", __func__);
return (NULL);
}
free(path);
@@ -1791,8 +1789,7 @@ read_errdoc(const char *root, const char
log_warn("%s: read", __func__);
close(fd);
free(ret);
- ret = NULL;
- return (ret);
+ return (NULL);
}
close(fd);