Merge pull request #7026 from aditya-deshpande-arm/backport-fix-example-programs-usage

[Backport 2.28] Fix incorrect dispatch to USAGE in example programs, which causes uninitialized memory to be used
This commit is contained in:
Dave Rodgman 2023-02-06 09:53:57 +00:00 committed by GitHub
commit 9f63cb72d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 19 additions and 15 deletions

View File

@ -0,0 +1,4 @@
Bugfix
* Fix behavior of certain sample programs which could, when run with no
arguments, access uninitialized memory in some cases. Fixes #6700 (which
was found by TrustInSoft Analyzer during REDOCS'22) and #1120.

View File

@ -173,7 +173,7 @@ int main(int argc, char *argv[])
mbedtls_md_init(&md_ctx);
if (argc == 1) {
if (argc < 2) {
const int *list;
mbedtls_printf("print mode: generic_sum <mbedtls_md> <file> <file> ...\n");

View File

@ -75,7 +75,7 @@ int main(int argc, char **argv)
mbedtls_ctr_drbg_init(&ctr_drbg);
mbedtls_entropy_init(&entropy);
if (argc == 0) {
if (argc < 2) {
usage:
mbedtls_printf(USAGE);
goto exit;

View File

@ -204,7 +204,7 @@ int main(int argc, char *argv[])
mbedtls_ctr_drbg_init(&ctr_drbg);
memset(buf, 0, sizeof(buf));
if (argc == 0) {
if (argc < 2) {
usage:
mbedtls_printf(USAGE);
#if defined(MBEDTLS_ECP_C)

View File

@ -95,7 +95,7 @@ int main(int argc, char *argv[])
mbedtls_mpi_init(&D); mbedtls_mpi_init(&E); mbedtls_mpi_init(&DP);
mbedtls_mpi_init(&DQ); mbedtls_mpi_init(&QP);
if (argc == 0) {
if (argc < 2) {
usage:
mbedtls_printf(USAGE);
goto cleanup;

View File

@ -209,7 +209,7 @@ int main(int argc, char *argv[])
mbedtls_mpi_init(&D); mbedtls_mpi_init(&E); mbedtls_mpi_init(&DP);
mbedtls_mpi_init(&DQ); mbedtls_mpi_init(&QP);
if (argc == 0) {
if (argc < 2) {
usage:
mbedtls_printf(USAGE);
goto exit;

View File

@ -767,7 +767,7 @@ int main(int argc, char *argv[])
mbedtls_test_enable_insecure_external_rng();
#endif /* MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG */
if (argc == 0) {
if (argc < 2) {
usage:
if (ret == 0) {
ret = 1;

View File

@ -367,7 +367,7 @@ int main(int argc, char *argv[])
mbedtls_pk_init(&pkey);
mbedtls_ctr_drbg_init(&ctr_drbg);
if (argc == 0) {
if (argc < 2) {
usage:
mbedtls_printf(USAGE);

View File

@ -1449,7 +1449,7 @@ int main(int argc, char *argv[])
signal(SIGINT, term_handler);
#endif
if (argc == 0) {
if (argc < 2) {
usage:
if (ret == 0) {
ret = 1;

View File

@ -38,7 +38,7 @@
int main(int argc, char *argv[])
{
if (argc != 2) {
if (argc < 2 || strcmp(argv[1], "-h") == 0) {
mbedtls_printf(USAGE, argv[0]);
return MBEDTLS_EXIT_FAILURE;
}

View File

@ -193,7 +193,7 @@ int main(int argc, char *argv[])
memset(buf, 0, sizeof(buf));
memset(der_buffer, 0, sizeof(der_buffer));
if (argc == 0) {
if (argc < 2) {
usage:
mbedtls_printf(USAGE);
goto exit;

View File

@ -165,7 +165,7 @@ int main(int argc, char *argv[])
memset(&cacrl, 0, sizeof(mbedtls_x509_crl));
#endif
if (argc == 0) {
if (argc < 2) {
usage:
mbedtls_printf(USAGE);
goto exit;

View File

@ -163,7 +163,7 @@ int main(int argc, char *argv[])
mbedtls_ctr_drbg_init(&ctr_drbg);
memset(buf, 0, sizeof(buf));
if (argc == 0) {
if (argc < 2) {
usage:
mbedtls_printf(USAGE);
goto exit;

View File

@ -241,7 +241,7 @@ int main(int argc, char *argv[])
mbedtls_x509_crt_init(&issuer_crt);
memset(buf, 0, 1024);
if (argc == 0) {
if (argc < 2) {
usage:
mbedtls_printf(USAGE);
goto exit;

View File

@ -72,7 +72,7 @@ int main(int argc, char *argv[])
*/
mbedtls_x509_crl_init(&crl);
if (argc == 0) {
if (argc < 2) {
usage:
mbedtls_printf(USAGE);
goto exit;

View File

@ -72,7 +72,7 @@ int main(int argc, char *argv[])
*/
mbedtls_x509_csr_init(&csr);
if (argc == 0) {
if (argc < 2) {
usage:
mbedtls_printf(USAGE);
goto exit;