diff options
author | tedu <> | 2014-04-18 00:58:49 +0000 |
---|---|---|
committer | tedu <> | 2014-04-18 00:58:49 +0000 |
commit | a1df5b66c7ad477a535e56a504d8da47e1998cfa (patch) | |
tree | b216ca6fba673789f2c494699c4cf41d23337bfa /src/lib/libcrypto/asn1/a_enum.c | |
parent | 07f5c09b19f56c323fa22ebd5efb5a4df9f5dc4d (diff) | |
download | openbsd-a1df5b66c7ad477a535e56a504d8da47e1998cfa.tar.gz openbsd-a1df5b66c7ad477a535e56a504d8da47e1998cfa.tar.bz2 openbsd-a1df5b66c7ad477a535e56a504d8da47e1998cfa.zip |
lob a few more knf grenades in here to soften things up.
Diffstat (limited to 'src/lib/libcrypto/asn1/a_enum.c')
-rw-r--r-- | src/lib/libcrypto/asn1/a_enum.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/lib/libcrypto/asn1/a_enum.c b/src/lib/libcrypto/asn1/a_enum.c index 77c7c2cd88..70cea0aad2 100644 --- a/src/lib/libcrypto/asn1/a_enum.c +++ b/src/lib/libcrypto/asn1/a_enum.c | |||
@@ -74,27 +74,23 @@ int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v) | |||
74 | long d; | 74 | long d; |
75 | 75 | ||
76 | a->type=V_ASN1_ENUMERATED; | 76 | a->type=V_ASN1_ENUMERATED; |
77 | if (a->length < (int)(sizeof(long)+1)) | 77 | if (a->length < (int)(sizeof(long)+1)) { |
78 | { | ||
79 | if (a->data != NULL) | 78 | if (a->data != NULL) |
80 | free(a->data); | 79 | free(a->data); |
81 | if ((a->data=(unsigned char *)malloc(sizeof(long)+1)) != NULL) | 80 | if ((a->data=(unsigned char *)malloc(sizeof(long)+1)) != NULL) |
82 | memset((char *)a->data,0,sizeof(long)+1); | 81 | memset((char *)a->data,0,sizeof(long)+1); |
83 | } | 82 | } |
84 | if (a->data == NULL) | 83 | if (a->data == NULL) { |
85 | { | ||
86 | ASN1err(ASN1_F_ASN1_ENUMERATED_SET,ERR_R_MALLOC_FAILURE); | 84 | ASN1err(ASN1_F_ASN1_ENUMERATED_SET,ERR_R_MALLOC_FAILURE); |
87 | return(0); | 85 | return(0); |
88 | } | 86 | } |
89 | d=v; | 87 | d=v; |
90 | if (d < 0) | 88 | if (d < 0) { |
91 | { | ||
92 | d= -d; | 89 | d= -d; |
93 | a->type=V_ASN1_NEG_ENUMERATED; | 90 | a->type=V_ASN1_NEG_ENUMERATED; |
94 | } | 91 | } |
95 | 92 | ||
96 | for (i=0; i<sizeof(long); i++) | 93 | for (i=0; i<sizeof(long); i++) { |
97 | { | ||
98 | if (d == 0) break; | 94 | if (d == 0) break; |
99 | buf[i]=(int)d&0xff; | 95 | buf[i]=(int)d&0xff; |
100 | d>>=8; | 96 | d>>=8; |
@@ -118,16 +114,14 @@ long ASN1_ENUMERATED_get(ASN1_ENUMERATED *a) | |||
118 | else if (i != V_ASN1_ENUMERATED) | 114 | else if (i != V_ASN1_ENUMERATED) |
119 | return -1; | 115 | return -1; |
120 | 116 | ||
121 | if (a->length > (int)sizeof(long)) | 117 | if (a->length > (int)sizeof(long)) { |
122 | { | ||
123 | /* hmm... a bit ugly */ | 118 | /* hmm... a bit ugly */ |
124 | return(0xffffffffL); | 119 | return(0xffffffffL); |
125 | } | 120 | } |
126 | if (a->data == NULL) | 121 | if (a->data == NULL) |
127 | return 0; | 122 | return 0; |
128 | 123 | ||
129 | for (i=0; i<a->length; i++) | 124 | for (i=0; i<a->length; i++) { |
130 | { | ||
131 | r<<=8; | 125 | r<<=8; |
132 | r|=(unsigned char)a->data[i]; | 126 | r|=(unsigned char)a->data[i]; |
133 | } | 127 | } |
@@ -144,8 +138,7 @@ ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai) | |||
144 | ret=M_ASN1_ENUMERATED_new(); | 138 | ret=M_ASN1_ENUMERATED_new(); |
145 | else | 139 | else |
146 | ret=ai; | 140 | ret=ai; |
147 | if (ret == NULL) | 141 | if (ret == NULL) { |
148 | { | ||
149 | ASN1err(ASN1_F_BN_TO_ASN1_ENUMERATED,ERR_R_NESTED_ASN1_ERROR); | 142 | ASN1err(ASN1_F_BN_TO_ASN1_ENUMERATED,ERR_R_NESTED_ASN1_ERROR); |
150 | goto err; | 143 | goto err; |
151 | } | 144 | } |
@@ -153,8 +146,7 @@ ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai) | |||
153 | else ret->type=V_ASN1_ENUMERATED; | 146 | else ret->type=V_ASN1_ENUMERATED; |
154 | j=BN_num_bits(bn); | 147 | j=BN_num_bits(bn); |
155 | len=((j == 0)?0:((j/8)+1)); | 148 | len=((j == 0)?0:((j/8)+1)); |
156 | if (ret->length < len+4) | 149 | if (ret->length < len+4) { |
157 | { | ||
158 | unsigned char *new_data=realloc(ret->data, len+4); | 150 | unsigned char *new_data=realloc(ret->data, len+4); |
159 | if (!new_data) | 151 | if (!new_data) |
160 | { | 152 | { |