httpd: no need to strcpy() when we only need to copy one byte
function old new delta handle_incoming_and_exit 2161 2172 +11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
5b34a5594c
commit
91a58b207e
@ -2416,14 +2416,18 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
|
|||||||
}
|
}
|
||||||
#if ENABLE_FEATURE_HTTPD_CGI
|
#if ENABLE_FEATURE_HTTPD_CGI
|
||||||
else if (urlp[-1] == '/') {
|
else if (urlp[-1] == '/') {
|
||||||
/* It's a dir URL and there is no index.html
|
/* It's a dir URL and there is no index.html */
|
||||||
* Try cgi-bin/index.cgi */
|
/* Is there cgi-bin/index.cgi? */
|
||||||
if (access("/cgi-bin/index.cgi"+1, X_OK) != 0)
|
if (access("/cgi-bin/index.cgi"+1, X_OK) != 0)
|
||||||
send_headers_and_exit(HTTP_NOT_FOUND);
|
send_headers_and_exit(HTTP_NOT_FOUND); /* no */
|
||||||
cgi_type = CGI_INDEX;
|
cgi_type = CGI_INDEX;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLE_FEATURE_HTTPD_BASIC_AUTH || ENABLE_FEATURE_HTTPD_CGI
|
||||||
|
/* check_user_passwd() would be confused by added .../index.html, truncate it */
|
||||||
urlp[0] = '\0';
|
urlp[0] = '\0';
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLE_FEATURE_HTTPD_CGI
|
#if ENABLE_FEATURE_HTTPD_CGI
|
||||||
total_headers_len = 0;
|
total_headers_len = 0;
|
||||||
@ -2566,8 +2570,6 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
|
|||||||
if (found_moved_temporarily)
|
if (found_moved_temporarily)
|
||||||
send_headers_and_exit(HTTP_MOVED_TEMPORARILY);
|
send_headers_and_exit(HTTP_MOVED_TEMPORARILY);
|
||||||
|
|
||||||
tptr = urlcopy + 1; /* skip first '/' */
|
|
||||||
|
|
||||||
#if ENABLE_FEATURE_HTTPD_CGI
|
#if ENABLE_FEATURE_HTTPD_CGI
|
||||||
if (cgi_type != CGI_NONE) {
|
if (cgi_type != CGI_NONE) {
|
||||||
send_cgi_and_exit(
|
send_cgi_and_exit(
|
||||||
@ -2578,9 +2580,6 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (urlp[-1] == '/')
|
|
||||||
strcpy(urlp, index_page);
|
|
||||||
|
|
||||||
#if ENABLE_FEATURE_HTTPD_CGI
|
#if ENABLE_FEATURE_HTTPD_CGI
|
||||||
if (prequest != request_GET && prequest != request_HEAD) {
|
if (prequest != request_GET && prequest != request_HEAD) {
|
||||||
/* POST / DELETE / PUT / OPTIONS for files do not make sense */
|
/* POST / DELETE / PUT / OPTIONS for files do not make sense */
|
||||||
@ -2589,7 +2588,13 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
|
|||||||
#else
|
#else
|
||||||
/* !CGI: it can be only GET or HEAD */
|
/* !CGI: it can be only GET or HEAD */
|
||||||
#endif
|
#endif
|
||||||
send_file_and_exit(tptr,
|
|
||||||
|
#if ENABLE_FEATURE_HTTPD_BASIC_AUTH
|
||||||
|
/* Restore truncated .../index.html */
|
||||||
|
if (urlp[-1] == '/')
|
||||||
|
urlp[0] = index_page[0];
|
||||||
|
#endif
|
||||||
|
send_file_and_exit(urlcopy + 1,
|
||||||
(prequest != request_HEAD ? (SEND_HEADERS + SEND_BODY) : SEND_HEADERS)
|
(prequest != request_HEAD ? (SEND_HEADERS + SEND_BODY) : SEND_HEADERS)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user