=================================================================== RCS file: /cvs/mandoc/cgi.c,v retrieving revision 1.132 retrieving revision 1.134 diff -u -p -r1.132 -r1.134 --- mandoc/cgi.c 2016/05/28 13:40:48 1.132 +++ mandoc/cgi.c 2016/07/10 10:05:33 1.134 @@ -1,4 +1,4 @@ -/* $Id: cgi.c,v 1.132 2016/05/28 13:40:48 schwarze Exp $ */ +/* $Id: cgi.c,v 1.134 2016/07/10 10:05:33 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2014, 2015, 2016 Ingo Schwarze @@ -470,9 +470,6 @@ validate_manpath(const struct req *req, const char* ma { size_t i; - if ( ! strcmp(manpath, "mandoc")) - return 1; - for (i = 0; i < req->psz; i++) if ( ! strcmp(manpath, req->p[i])) return 1; @@ -499,9 +496,9 @@ pg_index(const struct req *req) resp_searchform(req, FOCUS_QUERY); printf("

\n" "This web interface is documented in the\n" - "man.cgi\n" + "man.cgi(8)\n" "manual, and the\n" - "apropos\n" + "apropos(1)\n" "manual explains the query syntax.\n" "

\n", scriptname, *scriptname == '\0' ? "" : "/", @@ -884,13 +881,8 @@ pg_show(struct req *req, const char *fullpath) free(manpath); return; } + free(manpath); - if (strcmp(manpath, "mandoc")) { - free(req->q.manpath); - req->q.manpath = manpath; - } else - free(manpath); - if ( ! validate_filename(file)) { pg_error_badrequest( "You specified an invalid manual file."); @@ -1026,7 +1018,7 @@ main(void) if (*path != '\0') { parse_path_info(&req, path); - if (access(path, F_OK) == -1) + if (req.q.manpath == NULL || access(path, F_OK) == -1) path = ""; } else if ((querystring = getenv("QUERY_STRING")) != NULL) parse_query_string(&req, querystring);