r8791@Kushana: nickm | 2006-09-12 15:00:48 -0400

As long as we are being pedantic, we may as well be extra-pedantic.


svn:r8376
This commit is contained in:
Nick Mathewson 2006-09-12 19:00:55 +00:00
parent 2371369b51
commit 61531f029d

View File

@ -14,16 +14,17 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.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 int
main(int argc, char **argv) main(int argc, char **argv)
{ {
BIO *b; BIO *b = NULL;
RSA *key; RSA *key = NULL;
unsigned char *buf, *bufp; unsigned char *buf = NULL, *bufp;
int len, i; int len, i;
unsigned char digest[20]; unsigned char digest[20];
int status = 1;
if (argc != 2) if (argc != 2)
die("I want a filename"); die("I want a filename");
@ -34,7 +35,11 @@ main(int argc, char **argv)
die("couldn't parse key"); die("couldn't parse key");
len = i2d_RSAPublicKey(key, NULL); len = i2d_RSAPublicKey(key, NULL);
if (len < 0)
die("Bizarre key");
bufp = buf = malloc(len+1); bufp = buf = malloc(len+1);
if (!buf)
die("Out of memory");
len = i2d_RSAPublicKey(key, &bufp); len = i2d_RSAPublicKey(key, &bufp);
if (len < 0) if (len < 0)
die("Bizarre key"); die("Bizarre key");
@ -45,6 +50,15 @@ main(int argc, char **argv)
} }
printf("\n"); printf("\n");
return 0; status = 0;
err:
if (buf)
free(buf);
if (key)
RSA_free(key);
if (b)
BIO_free(b);
return status;
} }