From 4680573a6b744c682c36fc65d250d16113b8e8d3 Mon Sep 17 00:00:00 2001 From: "Deomid \"rojer\" Ryabkov" Date: Sat, 23 May 2020 00:15:50 +0100 Subject: [PATCH] Fixes for -pedantic build mode PUBLISHED_FROM=d0a15356cf047e579c74869ce3e8fe813752e8c7 --- mongoose.c | 13 ++++++++----- src/mg_http_ssi.c | 6 ++++-- src/mg_ssl_if_openssl.c | 7 ++++--- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/mongoose.c b/mongoose.c index 08856932..6a409a33 100644 --- a/mongoose.c +++ b/mongoose.c @@ -4537,9 +4537,10 @@ enum mg_ssl_if_result mg_ssl_if_conn_init( SSL_CTX_set_options(ctx->ssl_ctx, SSL_OP_NO_SSLv2); SSL_CTX_set_options(ctx->ssl_ctx, SSL_OP_NO_SSLv3); SSL_CTX_set_options(ctx->ssl_ctx, SSL_OP_NO_TLSv1); - SSL_CTX_set_session_id_context(ctx->ssl_ctx, - (void *) mg_default_session_id_context, - strlen(mg_default_session_id_context)); + SSL_CTX_set_session_id_context( + ctx->ssl_ctx, + (const unsigned char *) mg_default_session_id_context, + strlen(mg_default_session_id_context)); #ifdef MG_SSL_OPENSSL_NO_COMPRESSION SSL_CTX_set_options(ctx->ssl_ctx, SSL_OP_NO_COMPRESSION); #endif @@ -9376,13 +9377,15 @@ static void mg_do_ssi_include(struct mg_connection *nc, struct http_message *hm, */ if (sscanf(tag, " virtual=\"%[^\"]\"", file_name) == 1) { /* File name is relative to the webserver root */ - snprintf(path, sizeof(path), "%s/%s", opts->document_root, file_name); + if (snprintf(path, sizeof(path), "%s/%s", opts->document_root, file_name) < 0) { + return; + } } else if (sscanf(tag, " abspath=\"%[^\"]\"", file_name) == 1) { /* * File name is relative to the webserver working directory * or it is absolute system path */ - snprintf(path, sizeof(path), "%s", file_name); + if (snprintf(path, sizeof(path), "%s", file_name) < 0) return; } else if (sscanf(tag, " file=\"%[^\"]\"", file_name) == 1 || sscanf(tag, " \"%[^\"]\"", file_name) == 1) { /* File name is relative to the currect document */ diff --git a/src/mg_http_ssi.c b/src/mg_http_ssi.c index d1a95948..b96d6112 100644 --- a/src/mg_http_ssi.c +++ b/src/mg_http_ssi.c @@ -29,13 +29,15 @@ static void mg_do_ssi_include(struct mg_connection *nc, struct http_message *hm, */ if (sscanf(tag, " virtual=\"%[^\"]\"", file_name) == 1) { /* File name is relative to the webserver root */ - snprintf(path, sizeof(path), "%s/%s", opts->document_root, file_name); + if (snprintf(path, sizeof(path), "%s/%s", opts->document_root, file_name) < 0) { + return; + } } else if (sscanf(tag, " abspath=\"%[^\"]\"", file_name) == 1) { /* * File name is relative to the webserver working directory * or it is absolute system path */ - snprintf(path, sizeof(path), "%s", file_name); + if (snprintf(path, sizeof(path), "%s", file_name) < 0) return; } else if (sscanf(tag, " file=\"%[^\"]\"", file_name) == 1 || sscanf(tag, " \"%[^\"]\"", file_name) == 1) { /* File name is relative to the currect document */ diff --git a/src/mg_ssl_if_openssl.c b/src/mg_ssl_if_openssl.c index c2c9bc40..18d8b706 100644 --- a/src/mg_ssl_if_openssl.c +++ b/src/mg_ssl_if_openssl.c @@ -78,9 +78,10 @@ enum mg_ssl_if_result mg_ssl_if_conn_init( SSL_CTX_set_options(ctx->ssl_ctx, SSL_OP_NO_SSLv2); SSL_CTX_set_options(ctx->ssl_ctx, SSL_OP_NO_SSLv3); SSL_CTX_set_options(ctx->ssl_ctx, SSL_OP_NO_TLSv1); - SSL_CTX_set_session_id_context(ctx->ssl_ctx, - (void *) mg_default_session_id_context, - strlen(mg_default_session_id_context)); + SSL_CTX_set_session_id_context( + ctx->ssl_ctx, + (const unsigned char *) mg_default_session_id_context, + strlen(mg_default_session_id_context)); #ifdef MG_SSL_OPENSSL_NO_COMPRESSION SSL_CTX_set_options(ctx->ssl_ctx, SSL_OP_NO_COMPRESSION); #endif