diff options
| author | Eyal Sawady <ecs@d2evs.net> | 2020-11-15 11:32:59 -0500 |
|---|---|---|
| committer | Drew DeVault <sir@cmpwn.com> | 2020-11-15 11:33:16 -0500 |
| commit | cb042d6263a0f6800b298373b24a64b407aaf2f0 (patch) | |
| tree | 9442a6cd2b04c2f38f41ed7b8b1a6e1f4278a2f8 /src | |
| parent | 0646fd020c37362ecb25b4a5c01f984c5090166e (diff) | |
| download | gmnisrv-cb042d6263a0f6800b298373b24a64b407aaf2f0.tar.gz gmnisrv-cb042d6263a0f6800b298373b24a64b407aaf2f0.tar.xz gmnisrv-cb042d6263a0f6800b298373b24a64b407aaf2f0.zip | |
CGI: Don't hang on directory with no index
Diffstat (limited to 'src')
| -rw-r--r-- | src/serve.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/serve.c b/src/serve.c index 677b6a4..71f97c5 100644 --- a/src/serve.c +++ b/src/serve.c @@ -459,6 +459,14 @@ serve_request(struct gmnisrv_client *client) strncat(real_path, route->index ? route->index : "index.gmi", sizeof(real_path) - 1); + if (stat(real_path, &st) != 0) { + server_error("CGI path %s has no index", + client_path); + client_submit_response(client, + GEMINI_STATUS_NOT_FOUND, + "Not found", NULL); + return; + } } } else if (S_ISLNK(st.st_mode)) { ++nlinks; |
