diff --git a/examples/rsa-decrypt.c b/examples/rsa-decrypt.c index 8dfd38f9594b1649fc979befebc1e274f3f46b12..52b8b4c7b5b51fbadccb339cc89d1a10cacd3ad9 100644 --- a/examples/rsa-decrypt.c +++ b/examples/rsa-decrypt.c @@ -86,11 +86,16 @@ read_bignum(FILE *f, mpz_t x) if (read_uint32(f, &size) && size < 1000) { - uint8_t *p = alloca(size); + uint8_t *p = xalloc(size); if (fread(p, 1, size, f) != size) - return 0; + { + free(p); + return 0; + } nettle_mpz_set_str_256_u(x, size, p); + free(p); + return 1; } return 0; diff --git a/examples/rsa-encrypt.c b/examples/rsa-encrypt.c index 919a756336d7a585314e15677d18b7f9cbdc13b8..cb0e82095349f5d8c333e685285632e0d92adb6e 100644 --- a/examples/rsa-encrypt.c +++ b/examples/rsa-encrypt.c @@ -78,14 +78,17 @@ write_bignum(FILE *f, mpz_t x) { unsigned size = nettle_mpz_sizeinbase_256_u(x); uint8_t *p; + int res; if (!write_uint32(f, size)) return 0; - p = alloca(size); + p = xalloc(size); nettle_mpz_get_str_256(size, p, x); - return write_string(f, size, p); + res = write_string(f, size, p); + free(p); + return res; } static int diff --git a/examples/rsa-keygen.c b/examples/rsa-keygen.c index c5022cf39d89b1b416ffcefaa0050b97c71f30c8..675f13f4b5d1b4294deb40e7124076f93f82b565 100644 --- a/examples/rsa-keygen.c +++ b/examples/rsa-keygen.c @@ -96,15 +96,8 @@ main(int argc, char **argv) return EXIT_FAILURE; } - pub_name = malloc(strlen(priv_name) + 5); - - if (pub_name) - sprintf(pub_name, "%s.pub", priv_name); - else - { - werror("Memory exhausted.\n"); - return EXIT_FAILURE; - } + pub_name = xalloc(strlen(priv_name) + 5); + sprintf(pub_name, "%s.pub", priv_name); /* NOTE: No sources */ yarrow256_init(&yarrow, 0, NULL);