From 20d4ad12a624bd13f451e40c79f9d5cc52289375 Mon Sep 17 00:00:00 2001 From: Hui Yu Date: Fri, 24 Mar 2023 20:36:56 +0800 Subject: [PATCH] Increase buffer size --- kubernetes/config/exec_provider.c | 8 ++++---- kubernetes/config/kube_config.c | 4 ++++ kubernetes/config/kube_config_common.h | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/kubernetes/config/exec_provider.c b/kubernetes/config/exec_provider.c index 7e34f86..f0dfa83 100644 --- a/kubernetes/config/exec_provider.c +++ b/kubernetes/config/exec_provider.c @@ -5,9 +5,9 @@ #include #define ARGS_DELIM " " -#define KUBECONFIG_EXEC_ARGS_BUFFER_SIZE 1024 -#define KUBECONFIG_EXEC_COMMAND_BUFFER_SIZE 1024 -#define KUBECONFIG_STRING_BUFFER_SIZE 1024 +#define KUBECONFIG_EXEC_ARGS_BUFFER_SIZE 4096 +#define KUBECONFIG_EXEC_COMMAND_BUFFER_SIZE 4096 +#define KUBECONFIG_STRING_BUFFER_SIZE 4096 #define KUBECONFIG_EXEC_RESULT_BUFFER_SIZE 4096 int kube_exec_and_get_result(ExecCredential_t * exec_credential, const kubeconfig_property_t * exec) @@ -69,7 +69,7 @@ int kube_exec_and_get_result(ExecCredential_t * exec_credential, const kubeconfi #ifndef _WIN32 fp = popen(command_string, "r"); /* r means read from stdout */ #else - fp = _popen(command_string, "r"); /* r means read from stdout */ + fp = _popen(command_string, "r"); /* r means read from stdout */ #endif if (fp) { result_string = calloc(1, KUBECONFIG_EXEC_RESULT_BUFFER_SIZE); diff --git a/kubernetes/config/kube_config.c b/kubernetes/config/kube_config.c index 0f51cfb..115f208 100644 --- a/kubernetes/config/kube_config.c +++ b/kubernetes/config/kube_config.c @@ -93,6 +93,10 @@ static int setApiKeys(list_t ** pApiKeys, const char *token) return -1; } + if (strlen(BEARER_TOKEN_TEMPLATE) + strlen(token) >= BEARER_TOKEN_BUFFER_SIZE) { + fprintf(stderr, "%s: The buffer for bearer token is insufficient.\n", fname); + return -1; + } char tokenValue[BEARER_TOKEN_BUFFER_SIZE]; memset(tokenValue, 0, sizeof(tokenValue)); snprintf(tokenValue, BEARER_TOKEN_BUFFER_SIZE, BEARER_TOKEN_TEMPLATE, token); diff --git a/kubernetes/config/kube_config_common.h b/kubernetes/config/kube_config_common.h index 8c67068..967e27e 100644 --- a/kubernetes/config/kube_config_common.h +++ b/kubernetes/config/kube_config_common.h @@ -7,7 +7,7 @@ extern "C" { #define AUTH_TOKEN_KEY "Authorization" #define BEARER_TOKEN_TEMPLATE "Bearer %s" -#define BEARER_TOKEN_BUFFER_SIZE 2048 +#define BEARER_TOKEN_BUFFER_SIZE 4096 #define BASIC_TOKEN_TEMPLATE "Basic %s" #define BASIC_TOKEN_BUFFER_SIZE 1024