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

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

View File

@@ -35,7 +35,7 @@ int cmssign_main(int argc, char **argv)
FILE *outfp = stdout;
SM2_KEY sm2_key;
X509_KEY public_key;
uint8_t cert[1024];
uint8_t cert[8192];
size_t certlen;
uint8_t *in = NULL;
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))) {
fprintf(stderr, "gmssl %s: malloc failure\n", prog);
goto end;

View File

@@ -252,6 +252,11 @@ int tlcp_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-host")) {
if (--argc < 1) goto bad;
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")) {
if (--argc < 1) goto bad;
port = atoi(*(++argv));
@@ -334,6 +339,11 @@ int tlcp_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-get")) {
if (--argc < 1) goto bad;
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")) {
if (--argc < 1) goto bad;
infile = *(++argv);

View File

@@ -241,6 +241,11 @@ int tls12_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-host")) {
if (--argc < 1) goto bad;
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")) {
if (--argc < 1) goto bad;
port = atoi(*(++argv));
@@ -320,6 +325,11 @@ int tls12_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-get")) {
if (--argc < 1) goto bad;
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")) {
if (--argc < 1) goto bad;
infile = *(++argv);

View File

@@ -322,6 +322,11 @@ int tls13_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-host")) {
if (--argc < 1) goto bad;
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")) {
if (--argc < 1) goto bad;
port = atoi(*(++argv));
@@ -472,6 +477,11 @@ int tls13_client_main(int argc, char *argv[])
} else if (!strcmp(*argv, "-get")) {
if (--argc < 1) goto bad;
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")) {
if (--argc < 1) goto bad;
infile = *(++argv);