mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-06-19 19:33:38 +08:00
Bug fix
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user