ftp: reduce size of some struct fields
No binary (build failed)
—
(log yok)
| @@ -4169,6 +4169,8 @@ static size_t numof_slashes(const char *str) | |
| return num; | |
| } | |
| + | #define FTP_MAX_DIR_DEPTH 1000 |
| + | |
| /*********************************************************************** | |
| * | |
| * ftp_parse_url_path() | |
| @@ -4242,7 +4244,7 @@ CURLcode ftp_parse_url_path(struct Curl_easy *data, | |
| /* number of entries to allocate for the 'dirs' array */ | |
| size_t dirAlloc = numof_slashes(rawPath); | |
| - | if(dirAlloc >= 1000) |
| + | if(dirAlloc >= FTP_MAX_DIR_DEPTH) |
| /* suspiciously deep dir hierarchy */ | |
| return CURLE_URL_MALFORMAT; | |
| @@ -141,14 +141,18 @@ struct ftp_conn { | |
| curl_off_t known_filesize; /* file size is different from -1, if wildcard | |
| LIST parsing was done and wc_statemach set | |
| it */ | |
| - | int dirdepth; /* number of entries used in the 'dirs' array */ |
| - | int cwdcount; /* number of CWD commands issued */ |
| int count1; /* general purpose counter for the state machine */ | |
| int count2; /* general purpose counter for the state machine */ | |
| int count3; /* general purpose counter for the state machine */ | |
| - | ftpstate state; /* always use ftp.c:state() to change state! */ |
| - | ftpstate state_saved; /* transfer type saved to be reloaded after data |
| - | connection is established */ |
| + | unsigned short dirdepth; /* number of entries used in the 'dirs' array, |
| + | < FTP_MAX_DIR_DEPTH */ |
| + | unsigned short cwdcount; /* number of CWD commands issued, |
| + | < FTP_MAX_DIR_DEPTH */ |
| + | unsigned char state; /* (ftpstate enum) always use ftp.c:state() to change |
| + | state! */ |
| + | unsigned char state_saved; /* (ftpstate enum) transfer type saved to be |
| + | reloaded after data connection is |
| + | established */ |
| unsigned char use_ssl; /* if AUTH TLS is to be attempted etc, for FTP or | |
| IMAP or POP3 or others! (type: curl_usessl)*/ | |
| unsigned char ccc; /* ccc level for this connection */ | |