From beb93684818f1502aec2d8b0980d27257e1d36f4 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Mon, 19 Jan 2004 23:33:02 +0000 Subject: [PATCH] Make sure that the batch-prefix string isn't overly long (avoiding a potential problem in the batch-filename code). --- options.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/options.c b/options.c index b2ffa07f..166afdb9 100644 --- a/options.c +++ b/options.c @@ -124,6 +124,7 @@ int quiet = 0; int always_checksum = 0; int list_only = 0; +#define MAX_BATCH_PREFIX_LEN 256 /* Must be less than MAXPATHLEN-13 */ char *batch_prefix = NULL; static int modify_window_set; @@ -602,6 +603,12 @@ int parse_arguments(int *argc, const char ***argv, int frommain) "write-batch and read-batch can not be used together\n"); exit_cleanup(RERR_SYNTAX); } + if (batch_prefix && strlen(batch_prefix) > MAX_BATCH_PREFIX_LEN) { + rprintf(FERROR, + "the batch_prefix string must be %d characters or less.\n", + MAX_BATCH_PREFIX_LEN); + exit_cleanup(RERR_SYNTAX); + } if (do_compression && (write_batch || read_batch)) { rprintf(FERROR, @@ -707,7 +714,7 @@ void server_options(char **args,int *argc) static char mwindow[30]; static char bw[50]; /* Leave room for ``--(write|read)-batch='' */ - static char fext[MAXPATHLEN + 15]; + static char fext[MAX_BATCH_PREFIX_LEN + 15]; int i, x; -- 2.34.1