Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37845070
en ru br
ALT Linux repos
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 :: System/Servers
RPM: proftpd

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: proftpd-1.3.0-deb-cve_2006_5815.patch
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';
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin