From c8e8791d2d6ed05ac9f7d26869a1c2c606b11f40 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 11 Feb 2022 23:21:38 +0100 Subject: [PATCH] mime: use a define instead of the magic number 24 MIME_BOUNDARY_DASHES is now the number of leading dashes in the generated boundary string. Closes #8441 --- lib/mime.c | 5 +++-- lib/mime.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/mime.c b/lib/mime.c index aba9e76838..cab3ef1c37 100644 --- a/lib/mime.c +++ b/lib/mime.c @@ -1284,8 +1284,9 @@ curl_mime *curl_mime_init(struct Curl_easy *easy) mime->firstpart = NULL; mime->lastpart = NULL; - memset(mime->boundary, '-', 24); - if(Curl_rand_hex(easy, (unsigned char *) &mime->boundary[24], + memset(mime->boundary, '-', MIME_BOUNDARY_DASHES); + if(Curl_rand_hex(easy, + (unsigned char *) &mime->boundary[MIME_BOUNDARY_DASHES], MIME_RAND_BOUNDARY_CHARS + 1)) { /* failed to get random separator, bail out */ free(mime); diff --git a/lib/mime.h b/lib/mime.h index 9e62785649..f2fc434c58 100644 --- a/lib/mime.h +++ b/lib/mime.h @@ -24,6 +24,7 @@ #include "curl_setup.h" +#define MIME_BOUNDARY_DASHES 24 /* leading boundary dashes */ #define MIME_RAND_BOUNDARY_CHARS 16 /* Nb. of random boundary chars. */ #define MAX_ENCODED_LINE_LENGTH 76 /* Maximum encoded line length. */ #define ENCODING_BUFFER_SIZE 256 /* Encoding temp buffers size. */ @@ -92,7 +93,7 @@ struct mime_state { }; /* Boundary string length. */ -#define MIME_BOUNDARY_LEN (24 + MIME_RAND_BOUNDARY_CHARS) +#define MIME_BOUNDARY_LEN (MIME_BOUNDARY_DASHES + MIME_RAND_BOUNDARY_CHARS) /* A mime multipart. */ struct curl_mime { -- 2.47.3