From e99a1c24ff1186dd2c59f975c32e15c0ab9b0096 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Sat, 7 Feb 2004 13:32:40 +0100
Subject: [PATCH] * examples/rsa-keygen.c (main): Use xalloc for allocation. *
 examples/rsa-encrypt.c (write_bignum): Likewise. * examples/rsa-decrypt.c
 (read_bignum): Likewise.

Rev: src/nettle/examples/rsa-decrypt.c:1.4
Rev: src/nettle/examples/rsa-encrypt.c:1.5
Rev: src/nettle/examples/rsa-keygen.c:1.12
---
 examples/rsa-decrypt.c |  9 +++++++--
 examples/rsa-encrypt.c |  7 +++++--
 examples/rsa-keygen.c  | 11 ++---------
 3 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/examples/rsa-decrypt.c b/examples/rsa-decrypt.c
index 8dfd38f9..52b8b4c7 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 919a7563..cb0e8209 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 c5022cf3..675f13f4 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);
-- 
GitLab