[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r8376: As long as we are being pedantic, we may as well be extra-pe (in tor/trunk: . contrib)
- To: or-cvs@xxxxxxxxxxxxx
- Subject: [or-cvs] r8376: As long as we are being pedantic, we may as well be extra-pe (in tor/trunk: . contrib)
- From: nickm@xxxxxxxx
- Date: Tue, 12 Sep 2006 15:00:56 -0400 (EDT)
- Delivered-to: archiver@seul.org
- Delivered-to: or-cvs-outgoing@seul.org
- Delivered-to: or-cvs@seul.org
- Delivery-date: Tue, 12 Sep 2006 15:01:03 -0400
- Reply-to: or-talk@xxxxxxxxxxxxx
- Sender: owner-or-cvs@xxxxxxxxxxxxx
Author: nickm
Date: 2006-09-12 15:00:55 -0400 (Tue, 12 Sep 2006)
New Revision: 8376
Modified:
tor/trunk/
tor/trunk/contrib/id_to_fp.c
Log:
r8791@Kushana: nickm | 2006-09-12 15:00:48 -0400
As long as we are being pedantic, we may as well be extra-pedantic.
Property changes on: tor/trunk
___________________________________________________________________
svk:merge ticket from /tor/trunk [r8791] on c95137ef-5f19-0410-b913-86e773d04f59
Modified: tor/trunk/contrib/id_to_fp.c
===================================================================
--- tor/trunk/contrib/id_to_fp.c 2006-09-12 18:31:03 UTC (rev 8375)
+++ tor/trunk/contrib/id_to_fp.c 2006-09-12 19:00:55 UTC (rev 8376)
@@ -14,16 +14,17 @@
#include <stdio.h>
#include <stdlib.h>
-#define die(s) do { fprintf(stderr, "%s\n", s); return 1; } while (0)
+#define die(s) do { fprintf(stderr, "%s\n", s); goto err; } while (0)
int
main(int argc, char **argv)
{
- BIO *b;
- RSA *key;
- unsigned char *buf, *bufp;
+ BIO *b = NULL;
+ RSA *key = NULL;
+ unsigned char *buf = NULL, *bufp;
int len, i;
unsigned char digest[20];
+ int status = 1;
if (argc != 2)
die("I want a filename");
@@ -34,7 +35,11 @@
die("couldn't parse key");
len = i2d_RSAPublicKey(key, NULL);
+ if (len < 0)
+ die("Bizarre key");
bufp = buf = malloc(len+1);
+ if (!buf)
+ die("Out of memory");
len = i2d_RSAPublicKey(key, &bufp);
if (len < 0)
die("Bizarre key");
@@ -45,6 +50,15 @@
}
printf("\n");
- return 0;
+ status = 0;
+
+err:
+ if (buf)
+ free(buf);
+ if (key)
+ RSA_free(key);
+ if (b)
+ BIO_free(b);
+ return status;
}