This commit is contained in:
Zhi Guan
2026-06-17 16:15:13 +08:00
parent ace325928b
commit 40a62baec7
8 changed files with 35 additions and 5 deletions

View File

@@ -819,7 +819,7 @@ endif()
# #
set(CPACK_PACKAGE_NAME "GmSSL") set(CPACK_PACKAGE_NAME "GmSSL")
set(CPACK_PACKAGE_VENDOR "GmSSL develop team") set(CPACK_PACKAGE_VENDOR "GmSSL develop team")
set(CPACK_PACKAGE_VERSION "3.2.0-dev.1081") set(CPACK_PACKAGE_VERSION "3.2.0-dev.1082")
set(CPACK_PACKAGE_DESCRIPTION_FILE ${PROJECT_SOURCE_DIR}/README.md) set(CPACK_PACKAGE_DESCRIPTION_FILE ${PROJECT_SOURCE_DIR}/README.md)
set(CPACK_NSIS_MODIFY_PATH ON) set(CPACK_NSIS_MODIFY_PATH ON)
include(CPack) include(CPack)

View File

@@ -18,7 +18,7 @@ extern "C" {
#define GMSSL_VERSION_NUM 30200 #define GMSSL_VERSION_NUM 30200
#define GMSSL_VERSION_STR "GmSSL 3.2.0-dev.1081" #define GMSSL_VERSION_STR "GmSSL 3.2.0-dev.1082"
int gmssl_version_num(void); int gmssl_version_num(void);
const char *gmssl_version_str(void); const char *gmssl_version_str(void);

View File

@@ -33,7 +33,7 @@ int cmsdecrypt_main(int argc, char **argv)
FILE *certfp = NULL; FILE *certfp = NULL;
FILE *infp = NULL; FILE *infp = NULL;
FILE *outfp = stdout; FILE *outfp = stdout;
uint8_t cert[1024]; uint8_t cert[8192];
size_t certlen; size_t certlen;
size_t inlen; size_t inlen;
uint8_t *cms = NULL; uint8_t *cms = NULL;

View File

@@ -35,7 +35,7 @@ int cmssign_main(int argc, char **argv)
FILE *outfp = stdout; FILE *outfp = stdout;
SM2_KEY sm2_key; SM2_KEY sm2_key;
X509_KEY public_key; X509_KEY public_key;
uint8_t cert[1024]; uint8_t cert[8192];
size_t certlen; size_t certlen;
uint8_t *in = NULL; uint8_t *in = NULL;
size_t inlen; size_t inlen;

View File

@@ -168,7 +168,7 @@ bad:
} }
} }
buflen = data_unit_size * 16; buflen = (size_t)data_unit_size * 16;
if (!(buf = (uint8_t *)malloc(buflen))) { if (!(buf = (uint8_t *)malloc(buflen))) {
fprintf(stderr, "gmssl %s: malloc failure\n", prog); fprintf(stderr, "gmssl %s: malloc failure\n", prog);
goto end; goto end;

View File

@@ -252,6 +252,11 @@ int tlcp_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-host")) { } else if (!strcmp(*argv, "-host")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
host = *(++argv); host = *(++argv);
// prevent CRLF injection in http request header
if (strchr(host, '\r') || strchr(host, '\n')) {
fprintf(stderr, "%s: invalid characters in '-host' value\n", prog);
return -1;
}
} else if (!strcmp(*argv, "-port")) { } else if (!strcmp(*argv, "-port")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
port = atoi(*(++argv)); port = atoi(*(++argv));
@@ -334,6 +339,11 @@ int tlcp_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-get")) { } else if (!strcmp(*argv, "-get")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
get = *(++argv); get = *(++argv);
// prevent CRLF injection in http request line
if (strchr(get, '\r') || strchr(get, '\n')) {
fprintf(stderr, "%s: invalid characters in '-get' value\n", prog);
return -1;
}
} else if (!strcmp(*argv, "-in")) { } else if (!strcmp(*argv, "-in")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
infile = *(++argv); infile = *(++argv);

View File

@@ -241,6 +241,11 @@ int tls12_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-host")) { } else if (!strcmp(*argv, "-host")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
host = *(++argv); host = *(++argv);
// prevent CRLF injection in http request header
if (strchr(host, '\r') || strchr(host, '\n')) {
fprintf(stderr, "%s: invalid characters in '-host' value\n", prog);
return -1;
}
} else if (!strcmp(*argv, "-port")) { } else if (!strcmp(*argv, "-port")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
port = atoi(*(++argv)); port = atoi(*(++argv));
@@ -320,6 +325,11 @@ int tls12_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-get")) { } else if (!strcmp(*argv, "-get")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
get = *(++argv); get = *(++argv);
// prevent CRLF injection in http request line
if (strchr(get, '\r') || strchr(get, '\n')) {
fprintf(stderr, "%s: invalid characters in '-get' value\n", prog);
return -1;
}
} else if (!strcmp(*argv, "-in")) { } else if (!strcmp(*argv, "-in")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
infile = *(++argv); infile = *(++argv);

View File

@@ -322,6 +322,11 @@ int tls13_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-host")) { } else if (!strcmp(*argv, "-host")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
host = *(++argv); host = *(++argv);
// prevent CRLF injection in http request header
if (strchr(host, '\r') || strchr(host, '\n')) {
fprintf(stderr, "%s: invalid characters in '-host' value\n", prog);
return -1;
}
} else if (!strcmp(*argv, "-port")) { } else if (!strcmp(*argv, "-port")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
port = atoi(*(++argv)); port = atoi(*(++argv));
@@ -472,6 +477,11 @@ int tls13_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-get")) { } else if (!strcmp(*argv, "-get")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
get = *(++argv); get = *(++argv);
// prevent CRLF injection in http request line
if (strchr(get, '\r') || strchr(get, '\n')) {
fprintf(stderr, "%s: invalid characters in '-get' value\n", prog);
return -1;
}
} else if (!strcmp(*argv, "-in")) { } else if (!strcmp(*argv, "-in")) {
if (--argc < 1) goto bad; if (--argc < 1) goto bad;
infile = *(++argv); infile = *(++argv);