Module Name: src Committed By: christos Date: Fri Oct 30 23:27:47 UTC 2015
Modified Files: src/libexec/httpd: bozohttpd.c Log Message: simplify To generate a diff of this commit: cvs rdiff -u -r1.68 -r1.69 src/libexec/httpd/bozohttpd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/libexec/httpd/bozohttpd.c diff -u src/libexec/httpd/bozohttpd.c:1.68 src/libexec/httpd/bozohttpd.c:1.69 --- src/libexec/httpd/bozohttpd.c:1.68 Fri Oct 30 19:21:05 2015 +++ src/libexec/httpd/bozohttpd.c Fri Oct 30 19:27:47 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: bozohttpd.c,v 1.68 2015/10/30 23:21:05 christos Exp $ */ +/* $NetBSD: bozohttpd.c,v 1.69 2015/10/30 23:27:47 christos Exp $ */ /* $eterna: bozohttpd.c,v 1.178 2011/11/18 09:21:15 mrg Exp $ */ @@ -1928,7 +1928,7 @@ bozo_http_error(bozohttpd_t *httpd, int if (request && request->hr_file) { char *file = NULL, *user = NULL, *user_escaped = NULL; - int file_alloc = 0, user_alloc = 0; + int file_alloc = 0; const char *hostname = BOZOHOST(httpd, request); /* bozo_escape_html() failure here is just too bad. */ @@ -1943,16 +1943,9 @@ bozo_http_error(bozohttpd_t *httpd, int user_escaped = bozo_escape_html(NULL, request->hr_user); if (user_escaped == NULL) user_escaped = request->hr_user; - else - user_alloc = 1; /* expand username to ~user/ */ - user = malloc(strlen(user_escaped) + 3); - if (user != NULL) { - strcpy(user, "~"); - strcat(user, user_escaped); - strcat(user, "/"); - } - if (user_alloc == 1) + asprintf(&user, "~%s/", user); + if (user_escaped != request->hr_user) free(user_escaped); } #endif /* !NO_USER_SUPPORT */ @@ -1966,6 +1959,7 @@ bozo_http_error(bozohttpd_t *httpd, int header, header, user ? user : "", file, reason, hostname, portbuf, hostname, portbuf); + free(user); if (size >= (int)BUFSIZ) { bozo_warn(httpd, "bozo_http_error buffer too small, truncated");