ALT Linux repositórios
S: | 1.3.8-alt0.2.ga3489a6c8 |
5.0: | 1.3.2rel-alt0.M50.1 |
4.1: | 1.3.2rel-alt0.M41.1 |
4.0: | 1.3.0rel-alt2 |
3.0: | 1.3.0rc1-alt2 |
Group :: Sistema/Servidores
RPM: proftpd
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Patch: proftpd-1.3.0-deb-cve_2006_5815.patch
Download
Download
diff -urNad proftpd-dfsg-1.3.0~/src/main.c proftpd-dfsg-1.3.0/src/main.c
--- proftpd-dfsg-1.3.0~/src/main.c 2006-11-20 11:38:38.000000000 +0100
+++ proftpd-dfsg-1.3.0/src/main.c 2006-11-20 11:41:58.000000000 +0100
@@ -116,6 +116,8 @@
static char sbuf[PR_TUNABLE_BUFFER_SIZE] = {'\0'};
+#define PR_DEFAULT_CMD_BUFSZ 512
+
static char **Argv = NULL;
static char *LastArgv = NULL;
static const char *PidPath = PR_PID_FILE_PATH;
@@ -820,17 +822,24 @@
pr_timer_reset(TIMER_IDLE, NULL);
if (cmd_buf_size == -1) {
- long *buf_size = get_param_ptr(main_server->conf,
- "CommandBufferSize", FALSE);
-
- if (buf_size == NULL || *buf_size <= 0)
- cmd_buf_size = 512;
-
- else if (*buf_size + 1 > sizeof(buf)) {
- pr_log_pri(PR_LOG_WARNING, "Invalid CommandBufferSize size given. "
- "Resetting to 512.");
- cmd_buf_size = 512;
- }
+ int *bufsz = get_param_ptr(main_server->conf, "CommandBufferSize", FALSE);
+ if (bufsz == NULL) {
+ cmd_buf_size = PR_DEFAULT_CMD_BUFSZ;
+ }
+ else if ( bufsz <= 0 ) {
+ pr_log_pri(PR_LOG_WARNING, "invalid CommandBufferSize size (%d) "
+ "given, resetting to default buffer size (%u)",
+ *bufsz, (unsigned int) PR_DEFAULT_CMD_BUFSZ);
+ cmd_buf_size = PR_DEFAULT_CMD_BUFSZ;
+ } else if (*bufsz + 1 > sizeof(buf)) {
+ pr_log_pri(PR_LOG_WARNING, "invalid CommandBufferSize size (%d) "
+ "given, using default buffer size (%u) instead",
+ *bufsz, (unsigned int) PR_DEFAULT_CMD_BUFSZ);
+ cmd_buf_size = PR_DEFAULT_CMD_BUFSZ;
+ } else {
+ pr_log_debug(DEBUG1, "setting CommandBufferSize to %d", *bufsz);
+ cmd_buf_size = (long) *bufsz;
+ }
}
buf[cmd_buf_size - 1] = '\0';