Sophie

Sophie

distrib > Mandriva > 2006.0 > x86_64 > by-pkgid > 017bcc0984e9ef749f829aaf593f1e94 > files > 9

proftpd-1.2.10-13.3.20060mdk.src.rpm

Index: src/main.c
--- src/main.c.orig	2006-03-15 20:41:01 +0100
+++ src/main.c	2006-11-15 16:47:29 +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,16 +822,25 @@
       pr_timer_reset(TIMER_IDLE, NULL);

     if (cmd_buf_size == -1) {
-      long *buf_size = get_param_ptr(main_server->conf,
-        "CommandBufferSize", FALSE);
+      int *bufsz = get_param_ptr(main_server->conf, "CommandBufferSize",
+        FALSE);

-      if (buf_size == NULL || *buf_size <= 0)
-        cmd_buf_size = 512;
+      if (bufsz == NULL ||
+          *bufsz <= 0) {
+	pr_log_pri(PR_LOG_WARNING, "invalid CommandBufferSize size (%d) "
+          "given, resetting to default buffer size (%u)",
+          bufsz != NULL ? *bufsz : 0, (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, resetting to default buffer size (%u)",
+          *bufsz, (unsigned int) PR_DEFAULT_CMD_BUFSZ);
+	cmd_buf_size = PR_DEFAULT_CMD_BUFSZ;

-      else if (*buf_size + 1 > sizeof(buf)) {
-	pr_log_pri(PR_LOG_WARNING, "Invalid CommandBufferSize size given. "
-          "Resetting to 512.");
-	cmd_buf_size = 512;
+      } else {
+        pr_log_debug(DEBUG1, "setting CommandBufferSize to %d", *bufsz);
+        cmd_buf_size = (long) *bufsz;
       }
     }