diff options
| author | beck <> | 2002-05-15 02:29:21 +0000 | 
|---|---|---|
| committer | beck <> | 2002-05-15 02:29:21 +0000 | 
| commit | b64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9 (patch) | |
| tree | fa27cf82a1250b64ed3bf5f4a18c7354d470bbcc /src/lib/libcrypto/stack/stack.c | |
| parent | e471e1ea98d673597b182ea85f29e30c97cd08b5 (diff) | |
| download | openbsd-b64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9.tar.gz openbsd-b64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9.tar.bz2 openbsd-b64270d1e45fe7f3241e4c9b6ce60d5ac89bc2e9.zip  | |
OpenSSL 0.9.7 stable 2002 05 08 merge
Diffstat (limited to 'src/lib/libcrypto/stack/stack.c')
| -rw-r--r-- | src/lib/libcrypto/stack/stack.c | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/src/lib/libcrypto/stack/stack.c b/src/lib/libcrypto/stack/stack.c index 02857f0446..2496f28a8c 100644 --- a/src/lib/libcrypto/stack/stack.c +++ b/src/lib/libcrypto/stack/stack.c  | |||
| @@ -106,6 +106,8 @@ STACK *sk_dup(STACK *sk) | |||
| 106 | ret->comp=sk->comp; | 106 | ret->comp=sk->comp; | 
| 107 | return(ret); | 107 | return(ret); | 
| 108 | err: | 108 | err: | 
| 109 | if(ret) | ||
| 110 | sk_free(ret); | ||
| 109 | return(NULL); | 111 | return(NULL); | 
| 110 | } | 112 | } | 
| 111 | 113 | ||
| @@ -120,9 +122,9 @@ STACK *sk_new(int (*c)(const char * const *, const char * const *)) | |||
| 120 | int i; | 122 | int i; | 
| 121 | 123 | ||
| 122 | if ((ret=(STACK *)OPENSSL_malloc(sizeof(STACK))) == NULL) | 124 | if ((ret=(STACK *)OPENSSL_malloc(sizeof(STACK))) == NULL) | 
| 123 | goto err0; | 125 | goto err; | 
| 124 | if ((ret->data=(char **)OPENSSL_malloc(sizeof(char *)*MIN_NODES)) == NULL) | 126 | if ((ret->data=(char **)OPENSSL_malloc(sizeof(char *)*MIN_NODES)) == NULL) | 
| 125 | goto err1; | 127 | goto err; | 
| 126 | for (i=0; i<MIN_NODES; i++) | 128 | for (i=0; i<MIN_NODES; i++) | 
| 127 | ret->data[i]=NULL; | 129 | ret->data[i]=NULL; | 
| 128 | ret->comp=c; | 130 | ret->comp=c; | 
| @@ -130,9 +132,9 @@ STACK *sk_new(int (*c)(const char * const *, const char * const *)) | |||
| 130 | ret->num=0; | 132 | ret->num=0; | 
| 131 | ret->sorted=0; | 133 | ret->sorted=0; | 
| 132 | return(ret); | 134 | return(ret); | 
| 133 | err1: | 135 | err: | 
| 134 | OPENSSL_free(ret); | 136 | if(ret) | 
| 135 | err0: | 137 | OPENSSL_free(ret); | 
| 136 | return(NULL); | 138 | return(NULL); | 
| 137 | } | 139 | } | 
| 138 | 140 | ||
| @@ -316,7 +318,7 @@ char *sk_set(STACK *st, int i, char *value) | |||
| 316 | 318 | ||
| 317 | void sk_sort(STACK *st) | 319 | void sk_sort(STACK *st) | 
| 318 | { | 320 | { | 
| 319 | if (!st->sorted) | 321 | if (st && !st->sorted) | 
| 320 | { | 322 | { | 
| 321 | int (*comp_func)(const void *,const void *); | 323 | int (*comp_func)(const void *,const void *); | 
| 322 | 324 | ||
