diff options
author | Joel Sing <jsing@cvs.openbsd.org> | 2014-04-19 06:43:35 +0000 |
---|---|---|
committer | Joel Sing <jsing@cvs.openbsd.org> | 2014-04-19 06:43:35 +0000 |
commit | 3269778c659c2d9d1683263535bd099ad8a779dd (patch) | |
tree | e9fa9029acd29f4c801b898889a491ede3140899 /lib | |
parent | 9ac2b96956fc350d20d34e74f2de0cfd6f1d3a3b (diff) |
More KNF.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libcrypto/asn1/d2i_pr.c | 66 | ||||
-rw-r--r-- | lib/libcrypto/asn1/d2i_pu.c | 57 | ||||
-rw-r--r-- | lib/libcrypto/asn1/evp_asn1.c | 164 | ||||
-rw-r--r-- | lib/libcrypto/asn1/f_enum.c | 173 | ||||
-rw-r--r-- | lib/libcrypto/asn1/f_int.c | 173 | ||||
-rw-r--r-- | lib/libcrypto/asn1/f_string.c | 164 |
6 files changed, 434 insertions, 363 deletions
diff --git a/lib/libcrypto/asn1/d2i_pr.c b/lib/libcrypto/asn1/d2i_pr.c index 5e6003ca5b1..c356e3fda59 100644 --- a/lib/libcrypto/asn1/d2i_pr.c +++ b/lib/libcrypto/asn1/d2i_pr.c @@ -5,21 +5,21 @@ * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -34,10 +34,10 @@ * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -49,7 +49,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -68,18 +68,18 @@ #include <openssl/asn1.h> #include "asn1_locl.h" -EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, - long length) +EVP_PKEY * +d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length) { EVP_PKEY *ret; if ((a == NULL) || (*a == NULL)) { - if ((ret=EVP_PKEY_new()) == NULL) { - ASN1err(ASN1_F_D2I_PRIVATEKEY,ERR_R_EVP_LIB); - return(NULL); + if ((ret = EVP_PKEY_new()) == NULL) { + ASN1err(ASN1_F_D2I_PRIVATEKEY, ERR_R_EVP_LIB); + return (NULL); } } else { - ret= *a; + ret = *a; #ifndef OPENSSL_NO_ENGINE if (ret->engine) { ENGINE_finish(ret->engine); @@ -89,40 +89,44 @@ EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, } if (!EVP_PKEY_set_type(ret, type)) { - ASN1err(ASN1_F_D2I_PRIVATEKEY,ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE); + ASN1err(ASN1_F_D2I_PRIVATEKEY, ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE); goto err; } if (!ret->ameth->old_priv_decode || - !ret->ameth->old_priv_decode(ret, pp, length)) { + !ret->ameth->old_priv_decode(ret, pp, length)) { if (ret->ameth->priv_decode) { - PKCS8_PRIV_KEY_INFO *p8=NULL; - p8=d2i_PKCS8_PRIV_KEY_INFO(NULL,pp,length); - if (!p8) goto err; + PKCS8_PRIV_KEY_INFO *p8 = NULL; + p8 = d2i_PKCS8_PRIV_KEY_INFO(NULL, pp, length); + if (!p8) + goto err; EVP_PKEY_free(ret); ret = EVP_PKCS82PKEY(p8); PKCS8_PRIV_KEY_INFO_free(p8); - } else { - ASN1err(ASN1_F_D2I_PRIVATEKEY,ERR_R_ASN1_LIB); + ASN1err(ASN1_F_D2I_PRIVATEKEY, ERR_R_ASN1_LIB); goto err; } - } - if (a != NULL) (*a)=ret; - return(ret); + } + if (a != NULL) + (*a) = ret; + return (ret); + err: - if ((ret != NULL) && ((a == NULL) || (*a != ret))) EVP_PKEY_free(ret); - return(NULL); + if ((ret != NULL) && ((a == NULL) || (*a != ret))) + EVP_PKEY_free(ret); + return (NULL); } /* This works like d2i_PrivateKey() except it automatically works out the type */ -EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, - long length) +EVP_PKEY * +d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length) { STACK_OF(ASN1_TYPE) *inkey; const unsigned char *p; int keytype; + p = *pp; /* Dirty trick: read in the ASN1 data into a STACK_OF(ASN1_TYPE): * by analyzing it we can determine the passed structure: this @@ -132,25 +136,27 @@ EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, /* Since we only need to discern "traditional format" RSA and DSA * keys we can just count the elements. */ - if(sk_ASN1_TYPE_num(inkey) == 6) + if (sk_ASN1_TYPE_num(inkey) == 6) keytype = EVP_PKEY_DSA; else if (sk_ASN1_TYPE_num(inkey) == 4) keytype = EVP_PKEY_EC; else if (sk_ASN1_TYPE_num(inkey) == 3) { /* This seems to be PKCS8, not traditional format */ - PKCS8_PRIV_KEY_INFO *p8 = d2i_PKCS8_PRIV_KEY_INFO(NULL,pp,length); + PKCS8_PRIV_KEY_INFO *p8 = d2i_PKCS8_PRIV_KEY_INFO( + NULL, pp, length); EVP_PKEY *ret; sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free); if (!p8) { - ASN1err(ASN1_F_D2I_AUTOPRIVATEKEY,ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE); + ASN1err(ASN1_F_D2I_AUTOPRIVATEKEY, + ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE); return NULL; } ret = EVP_PKCS82PKEY(p8); PKCS8_PRIV_KEY_INFO_free(p8); if (a) { *a = ret; - } + } return ret; } else keytype = EVP_PKEY_RSA; diff --git a/lib/libcrypto/asn1/d2i_pu.c b/lib/libcrypto/asn1/d2i_pu.c index ccd03c066f3..564f0945b53 100644 --- a/lib/libcrypto/asn1/d2i_pu.c +++ b/lib/libcrypto/asn1/d2i_pu.c @@ -5,21 +5,21 @@ * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -34,10 +34,10 @@ * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -49,7 +49,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -72,31 +72,31 @@ #include <openssl/ec.h> #endif -EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, - long length) +EVP_PKEY * +d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length) { EVP_PKEY *ret; if ((a == NULL) || (*a == NULL)) { - if ((ret=EVP_PKEY_new()) == NULL) { - ASN1err(ASN1_F_D2I_PUBLICKEY,ERR_R_EVP_LIB); - return(NULL); + if ((ret = EVP_PKEY_new()) == NULL) { + ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_EVP_LIB); + return (NULL); } - } - else ret= *a; + } else + ret = *a; if (!EVP_PKEY_set_type(ret, type)) { - ASN1err(ASN1_F_D2I_PUBLICKEY,ERR_R_EVP_LIB); + ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_EVP_LIB); goto err; } switch (EVP_PKEY_id(ret)) { #ifndef OPENSSL_NO_RSA case EVP_PKEY_RSA: - if ((ret->pkey.rsa=d2i_RSAPublicKey(NULL, - (const unsigned char **)pp,length)) == NULL) /* TMP UGLY CAST */ + if ((ret->pkey.rsa = d2i_RSAPublicKey(NULL, + (const unsigned char **)pp,length)) == NULL) /* TMP UGLY CAST */ { - ASN1err(ASN1_F_D2I_PUBLICKEY,ERR_R_ASN1_LIB); + ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_ASN1_LIB); goto err; } break; @@ -104,9 +104,9 @@ EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, #ifndef OPENSSL_NO_DSA case EVP_PKEY_DSA: if (!d2i_DSAPublicKey(&(ret->pkey.dsa), - (const unsigned char **)pp,length)) /* TMP UGLY CAST */ + (const unsigned char **)pp,length)) /* TMP UGLY CAST */ { - ASN1err(ASN1_F_D2I_PUBLICKEY,ERR_R_ASN1_LIB); + ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_ASN1_LIB); goto err; } break; @@ -114,22 +114,23 @@ EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, #ifndef OPENSSL_NO_EC case EVP_PKEY_EC: if (!o2i_ECPublicKey(&(ret->pkey.ec), - (const unsigned char **)pp, length)) - { + (const unsigned char **)pp, length)) { ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_ASN1_LIB); goto err; } - break; + break; #endif default: - ASN1err(ASN1_F_D2I_PUBLICKEY,ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE); + ASN1err(ASN1_F_D2I_PUBLICKEY, ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE); goto err; /* break; */ } - if (a != NULL) (*a)=ret; - return(ret); + if (a != NULL) + (*a) = ret; + return (ret); + err: - if ((ret != NULL) && ((a == NULL) || (*a != ret))) EVP_PKEY_free(ret); - return(NULL); + if ((ret != NULL) && ((a == NULL) || (*a != ret))) + EVP_PKEY_free(ret); + return (NULL); } - diff --git a/lib/libcrypto/asn1/evp_asn1.c b/lib/libcrypto/asn1/evp_asn1.c index d4ea675f89b..4ff03de1f9c 100644 --- a/lib/libcrypto/asn1/evp_asn1.c +++ b/lib/libcrypto/asn1/evp_asn1.c @@ -5,21 +5,21 @@ * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -34,10 +34,10 @@ * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -49,7 +49,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -61,84 +61,91 @@ #include <openssl/asn1.h> #include <openssl/asn1_mac.h> -int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len) +int +ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len) { ASN1_STRING *os; - if ((os=M_ASN1_OCTET_STRING_new()) == NULL) return(0); - if (!M_ASN1_OCTET_STRING_set(os,data,len)) return(0); - ASN1_TYPE_set(a,V_ASN1_OCTET_STRING,os); - return(1); + if ((os = M_ASN1_OCTET_STRING_new()) == NULL) + return (0); + if (!M_ASN1_OCTET_STRING_set(os, data, len)) + return (0); + ASN1_TYPE_set(a, V_ASN1_OCTET_STRING, os); + return (1); } /* int max_len: for returned value */ -int ASN1_TYPE_get_octetstring(ASN1_TYPE *a, unsigned char *data, - int max_len) +int +ASN1_TYPE_get_octetstring(ASN1_TYPE *a, unsigned char *data, int max_len) { - int ret,num; + int ret, num; unsigned char *p; - if ((a->type != V_ASN1_OCTET_STRING) || (a->value.octet_string == NULL)) { - ASN1err(ASN1_F_ASN1_TYPE_GET_OCTETSTRING,ASN1_R_DATA_IS_WRONG); - return(-1); + if ((a->type != V_ASN1_OCTET_STRING) || + (a->value.octet_string == NULL)) { + ASN1err(ASN1_F_ASN1_TYPE_GET_OCTETSTRING, ASN1_R_DATA_IS_WRONG); + return (-1); } - p=M_ASN1_STRING_data(a->value.octet_string); - ret=M_ASN1_STRING_length(a->value.octet_string); + p = M_ASN1_STRING_data(a->value.octet_string); + ret = M_ASN1_STRING_length(a->value.octet_string); if (ret < max_len) - num=ret; + num = ret; else - num=max_len; - memcpy(data,p,num); - return(ret); + num = max_len; + memcpy(data, p, num); + return (ret); } -int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, unsigned char *data, - int len) +int +ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, unsigned char *data, + int len) { - int n,size; - ASN1_OCTET_STRING os,*osp; + int n, size; + ASN1_OCTET_STRING os, *osp; ASN1_INTEGER in; unsigned char *p; - unsigned char buf[32]; /* when they have 256bit longs, + unsigned char buf[32]; /* when they have 256bit longs, * I'll be in trouble */ - in.data=buf; - in.length=32; - os.data=data; - os.type=V_ASN1_OCTET_STRING; - os.length=len; - ASN1_INTEGER_set(&in,num); - n = i2d_ASN1_INTEGER(&in,NULL); - n+=M_i2d_ASN1_OCTET_STRING(&os,NULL); - - size=ASN1_object_size(1,n,V_ASN1_SEQUENCE); - - if ((osp=ASN1_STRING_new()) == NULL) return(0); + in.data = buf; + in.length = 32; + os.data = data; + os.type = V_ASN1_OCTET_STRING; + os.length = len; + ASN1_INTEGER_set(&in, num); + n = i2d_ASN1_INTEGER(&in, NULL); + n += M_i2d_ASN1_OCTET_STRING(&os, NULL); + + size = ASN1_object_size(1, n, V_ASN1_SEQUENCE); + + if ((osp = ASN1_STRING_new()) == NULL) + return (0); /* Grow the 'string' */ - if (!ASN1_STRING_set(osp,NULL,size)) { + if (!ASN1_STRING_set(osp, NULL, size)) { ASN1_STRING_free(osp); - return(0); + return (0); } M_ASN1_STRING_length_set(osp, size); - p=M_ASN1_STRING_data(osp); + p = M_ASN1_STRING_data(osp); - ASN1_put_object(&p,1,n,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL); - i2d_ASN1_INTEGER(&in,&p); - M_i2d_ASN1_OCTET_STRING(&os,&p); + ASN1_put_object(&p, 1,n, V_ASN1_SEQUENCE, V_ASN1_UNIVERSAL); + i2d_ASN1_INTEGER(&in, &p); + M_i2d_ASN1_OCTET_STRING(&os, &p); - ASN1_TYPE_set(a,V_ASN1_SEQUENCE,osp); - return(1); + ASN1_TYPE_set(a, V_ASN1_SEQUENCE, osp); + return (1); } /* we return the actual length..., num may be missing, in which * case, set it to zero */ /* int max_len: for returned value */ -int ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a, long *num, unsigned char *data, - int max_len) +int +ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a, long *num, unsigned char *data, + int max_len) { - int ret= -1,n; - ASN1_INTEGER *ai=NULL; - ASN1_OCTET_STRING *os=NULL; + int ret = -1, n; + ASN1_INTEGER *ai = NULL; + ASN1_OCTET_STRING *os = NULL; const unsigned char *p; long length; ASN1_const_CTX c; @@ -146,40 +153,45 @@ int ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a, long *num, unsigned char *data, if ((a->type != V_ASN1_SEQUENCE) || (a->value.sequence == NULL)) { goto err; } - p=M_ASN1_STRING_data(a->value.sequence); - length=M_ASN1_STRING_length(a->value.sequence); + p = M_ASN1_STRING_data(a->value.sequence); + length = M_ASN1_STRING_length(a->value.sequence); - c.pp= &p; - c.p=p; - c.max=p+length; - c.error=ASN1_R_DATA_IS_WRONG; + c.pp = &p; + c.p = p; + c.max = p + length; + c.error = ASN1_R_DATA_IS_WRONG; M_ASN1_D2I_start_sequence(); - c.q=c.p; - if ((ai=d2i_ASN1_INTEGER(NULL,&c.p,c.slen)) == NULL) goto err; - c.slen-=(c.p-c.q); - c.q=c.p; - if ((os=d2i_ASN1_OCTET_STRING(NULL,&c.p,c.slen)) == NULL) goto err; - c.slen-=(c.p-c.q); - if (!M_ASN1_D2I_end_sequence()) goto err; + c.q = c.p; + if ((ai = d2i_ASN1_INTEGER(NULL, &c.p, c.slen)) == NULL) + goto err; + c.slen -= (c.p - c.q); + c.q = c.p; + if ((os = d2i_ASN1_OCTET_STRING(NULL, &c.p, c.slen)) == NULL) + goto err; + c.slen -= (c.p - c.q); + if (!M_ASN1_D2I_end_sequence()) + goto err; if (num != NULL) - *num=ASN1_INTEGER_get(ai); + *num = ASN1_INTEGER_get(ai); - ret=M_ASN1_STRING_length(os); + ret = M_ASN1_STRING_length(os); if (max_len > ret) - n=ret; + n = ret; else - n=max_len; + n = max_len; if (data != NULL) - memcpy(data,M_ASN1_STRING_data(os),n); + memcpy(data, M_ASN1_STRING_data(os), n); if (0) { err: - ASN1err(ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING,ASN1_R_DATA_IS_WRONG); + ASN1err(ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING, + ASN1_R_DATA_IS_WRONG); } - if (os != NULL) M_ASN1_OCTET_STRING_free(os); - if (ai != NULL) M_ASN1_INTEGER_free(ai); - return(ret); + if (os != NULL) + M_ASN1_OCTET_STRING_free(os); + if (ai != NULL) + M_ASN1_INTEGER_free(ai); + return (ret); } - diff --git a/lib/libcrypto/asn1/f_enum.c b/lib/libcrypto/asn1/f_enum.c index 4ccfbddf2a9..e8736e5b726 100644 --- a/lib/libcrypto/asn1/f_enum.c +++ b/lib/libcrypto/asn1/f_enum.c @@ -5,21 +5,21 @@ * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -34,10 +34,10 @@ * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -49,7 +49,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -63,128 +63,145 @@ /* Based on a_int.c: equivalent ENUMERATED functions */ -int i2a_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *a) +int +i2a_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *a) { - int i,n=0; - static const char *h="0123456789ABCDEF"; + int i, n = 0; + static const char *h = "0123456789ABCDEF"; char buf[2]; - if (a == NULL) return(0); + if (a == NULL) + return (0); if (a->length == 0) { - if (BIO_write(bp,"00",2) != 2) goto err; - n=2; + if (BIO_write(bp, "00", 2) != 2) + goto err; + n = 2; } else { - for (i=0; i<a->length; i++) { - if ((i != 0) && (i%35 == 0)) { - if (BIO_write(bp,"\\\n",2) != 2) goto err; - n+=2; + for (i = 0; i < a->length; i++) { + if ((i != 0) && (i % 35 == 0)) { + if (BIO_write(bp, "\\\n", 2) != 2) + goto err; + n += 2; } - buf[0]=h[((unsigned char)a->data[i]>>4)&0x0f]; - buf[1]=h[((unsigned char)a->data[i] )&0x0f]; - if (BIO_write(bp,buf,2) != 2) goto err; - n+=2; + buf[0] = h[((unsigned char)a->data[i] >> 4) & 0x0f]; + buf[1] = h[((unsigned char)a->data[i]) & 0x0f]; + if (BIO_write(bp, buf, 2) != 2) + goto err; + n += 2; } } - return(n); + return (n); + err: - return(-1); + return (-1); } -int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size) +int +a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size) { - int ret=0; - int i,j,k,m,n,again,bufsize; - unsigned char *s=NULL,*sp; + int ret = 0; + int i, j,k, m,n, again, bufsize; + unsigned char *s = NULL, *sp; unsigned char *bufp; - int num=0,slen=0,first=1; + int num = 0, slen = 0, first = 1; - bs->type=V_ASN1_ENUMERATED; + bs->type = V_ASN1_ENUMERATED; - bufsize=BIO_gets(bp,buf,size); + bufsize = BIO_gets(bp, buf, size); for (;;) { - if (bufsize < 1) goto err_sl; - i=bufsize; - if (buf[i-1] == '\n') buf[--i]='\0'; - if (i == 0) goto err_sl; - if (buf[i-1] == '\r') buf[--i]='\0'; - if (i == 0) goto err_sl; - again=(buf[i-1] == '\\'); + if (bufsize < 1) + goto err_sl; + i = bufsize; + if (buf[i-1] == '\n') + buf[--i] = '\0'; + if (i == 0) + goto err_sl; + if (buf[i-1] == '\r') + buf[--i] = '\0'; + if (i == 0) + goto err_sl; + again = (buf[i - 1] == '\\'); - for (j=0; j<i; j++) { - if (!( ((buf[j] >= '0') && (buf[j] <= '9')) || - ((buf[j] >= 'a') && (buf[j] <= 'f')) || - ((buf[j] >= 'A') && (buf[j] <= 'F')))) { - i=j; + for (j = 0; j < i; j++) { + if (!(((buf[j] >= '0') && (buf[j] <= '9')) || + ((buf[j] >= 'a') && (buf[j] <= 'f')) || + ((buf[j] >= 'A') && (buf[j] <= 'F')))) { + i = j; break; } } - buf[i]='\0'; + buf[i] = '\0'; /* We have now cleared all the crap off the end of the * line */ - if (i < 2) goto err_sl; + if (i < 2) + goto err_sl; - bufp=(unsigned char *)buf; + bufp = (unsigned char *)buf; if (first) { - first=0; + first = 0; if ((bufp[0] == '0') && (buf[1] == '0')) { - bufp+=2; - i-=2; + bufp += 2; + i -= 2; } } - k=0; - i-=again; - if (i%2 != 0) { - ASN1err(ASN1_F_A2I_ASN1_ENUMERATED,ASN1_R_ODD_NUMBER_OF_CHARS); + k = 0; + i -= again; + if (i % 2 != 0) { + ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, + ASN1_R_ODD_NUMBER_OF_CHARS); goto err; } - i/=2; - if (num+i > slen) { + i /= 2; + if (num + i > slen) { if (s == NULL) - sp=(unsigned char *)malloc( - (unsigned int)num+i*2); + sp = (unsigned char *)malloc( + (unsigned int)num + i * 2); else - sp=(unsigned char *)realloc(s, - (unsigned int)num+i*2); + sp = (unsigned char *)realloc(s, + (unsigned int)num + i * 2); if (sp == NULL) { - ASN1err(ASN1_F_A2I_ASN1_ENUMERATED,ERR_R_MALLOC_FAILURE); - if (s != NULL) free(s); + ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, + ERR_R_MALLOC_FAILURE); + if (s != NULL) + free(s); goto err; } - s=sp; - slen=num+i*2; + s = sp; + slen = num + i * 2; } - for (j=0; j<i; j++,k+=2) { - for (n=0; n<2; n++) { - m=bufp[k+n]; + for (j = 0; j < i; j++, k += 2) { + for (n = 0; n < 2; n++) { + m = bufp[k + n]; if ((m >= '0') && (m <= '9')) - m-='0'; + m -= '0'; else if ((m >= 'a') && (m <= 'f')) - m=m-'a'+10; + m = m - 'a' + 10; else if ((m >= 'A') && (m <= 'F')) - m=m-'A'+10; + m = m - 'A' + 10; else { - ASN1err(ASN1_F_A2I_ASN1_ENUMERATED,ASN1_R_NON_HEX_CHARACTERS); + ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, + ASN1_R_NON_HEX_CHARACTERS); goto err; } - s[num+j]<<=4; - s[num+j]|=m; + s[num + j] <<= 4; + s[num + j] |= m; } } - num+=i; + num += i; if (again) - bufsize=BIO_gets(bp,buf,size); + bufsize = BIO_gets(bp, buf, size); else break; } - bs->length=num; - bs->data=s; - ret=1; + bs->length = num; + bs->data = s; + ret = 1; + err: if (0) { err_sl: - ASN1err(ASN1_F_A2I_ASN1_ENUMERATED,ASN1_R_SHORT_LINE); + ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, ASN1_R_SHORT_LINE); } - return(ret); + return (ret); } - diff --git a/lib/libcrypto/asn1/f_int.c b/lib/libcrypto/asn1/f_int.c index 6cea1f8485a..f355dbacbe5 100644 --- a/lib/libcrypto/asn1/f_int.c +++ b/lib/libcrypto/asn1/f_int.c @@ -5,21 +5,21 @@ * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -34,10 +34,10 @@ * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -49,7 +49,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -61,132 +61,151 @@ #include <openssl/buffer.h> #include <openssl/asn1.h> -int i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a) +int +i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a) { - int i,n=0; - static const char *h="0123456789ABCDEF"; + int i, n = 0; + static const char *h = "0123456789ABCDEF"; char buf[2]; - if (a == NULL) return(0); + if (a == NULL) + return (0); if (a->type & V_ASN1_NEG) { - if (BIO_write(bp, "-", 1) != 1) goto err; + if (BIO_write(bp, "-", 1) != 1) + goto err; n = 1; } if (a->length == 0) { - if (BIO_write(bp,"00",2) != 2) goto err; + if (BIO_write(bp, "00", 2) != 2) + goto err; n += 2; } else { - for (i=0; i<a->length; i++) { - if ((i != 0) && (i%35 == 0)) { - if (BIO_write(bp,"\\\n",2) != 2) goto err; - n+=2; + for (i = 0; i < a->length; i++) { + if ((i != 0) && (i % 35 == 0)) { + if (BIO_write(bp, "\\\n", 2) != 2) + goto err; + n += 2; } - buf[0]=h[((unsigned char)a->data[i]>>4)&0x0f]; - buf[1]=h[((unsigned char)a->data[i] )&0x0f]; - if (BIO_write(bp,buf,2) != 2) goto err; - n+=2; + buf[0] = h[((unsigned char)a->data[i] >> 4) & 0x0f]; + buf[1] = h[((unsigned char)a->data[i]) & 0x0f]; + if (BIO_write(bp, buf, 2) != 2) + goto err; + n += 2; } } - return(n); + return (n); + err: - return(-1); + return (-1); } -int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size) +int +a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size) { - int ret=0; - int i,j,k,m,n,again,bufsize; - unsigned char *s=NULL,*sp; + int ret = 0; + int i, j,k, m,n, again, bufsize; + unsigned char *s = NULL, *sp; unsigned char *bufp; - int num=0,slen=0,first=1; + int num = 0, slen = 0, first = 1; - bs->type=V_ASN1_INTEGER; + bs->type = V_ASN1_INTEGER; - bufsize=BIO_gets(bp,buf,size); + bufsize = BIO_gets(bp, buf, size); for (;;) { - if (bufsize < 1) goto err_sl; - i=bufsize; - if (buf[i-1] == '\n') buf[--i]='\0'; - if (i == 0) goto err_sl; - if (buf[i-1] == '\r') buf[--i]='\0'; - if (i == 0) goto err_sl; - again=(buf[i-1] == '\\'); + if (bufsize < 1) + goto err_sl; + i = bufsize; + if (buf[i - 1] == '\n') + buf[--i] = '\0'; + if (i == 0) + goto err_sl; + if (buf[i - 1] == '\r') + buf[--i] = '\0'; + if (i == 0) + goto err_sl; + again = (buf[i - 1] == '\\'); - for (j=0; j<i; j++) { - if (!( ((buf[j] >= '0') && (buf[j] <= '9')) || - ((buf[j] >= 'a') && (buf[j] <= 'f')) || - ((buf[j] >= 'A') && (buf[j] <= 'F')))) { - i=j; + for (j = 0; j < i; j++) { + if (!(((buf[j] >= '0') && (buf[j] <= '9')) || + ((buf[j] >= 'a') && (buf[j] <= 'f')) || + ((buf[j] >= 'A') && (buf[j] <= 'F')))) { + i = j; break; } } - buf[i]='\0'; + buf[i] = '\0'; /* We have now cleared all the crap off the end of the * line */ - if (i < 2) goto err_sl; + if (i < 2) + goto err_sl; - bufp=(unsigned char *)buf; + bufp = (unsigned char *)buf; if (first) { - first=0; + first = 0; if ((bufp[0] == '0') && (buf[1] == '0')) { - bufp+=2; - i-=2; + bufp += 2; + i -= 2; } } - k=0; - i-=again; - if (i%2 != 0) { - ASN1err(ASN1_F_A2I_ASN1_INTEGER,ASN1_R_ODD_NUMBER_OF_CHARS); + k = 0; + i -= again; + if (i % 2 != 0) { + ASN1err(ASN1_F_A2I_ASN1_INTEGER, + ASN1_R_ODD_NUMBER_OF_CHARS); goto err; } - i/=2; - if (num+i > slen) { + i /= 2; + if (num + i > slen) { if (s == NULL) - sp=(unsigned char *)malloc( - (unsigned int)num+i*2); + sp = (unsigned char *)malloc( + (unsigned int)num + i * 2); else - sp=OPENSSL_realloc_clean(s,slen,num+i*2); + sp = OPENSSL_realloc_clean(s, slen, + num + i * 2); if (sp == NULL) { - ASN1err(ASN1_F_A2I_ASN1_INTEGER,ERR_R_MALLOC_FAILURE); - if (s != NULL) free(s); + ASN1err(ASN1_F_A2I_ASN1_INTEGER, + ERR_R_MALLOC_FAILURE); + if (s != NULL) + free(s); goto err; } - s=sp; - slen=num+i*2; + s = sp; + slen = num + i * 2; } - for (j=0; j<i; j++,k+=2) { - for (n=0; n<2; n++) { - m=bufp[k+n]; + for (j = 0; j < i; j++, k += 2) { + for (n = 0; n < 2; n++) { + m = bufp[k + n]; if ((m >= '0') && (m <= '9')) - m-='0'; + m -= '0'; else if ((m >= 'a') && (m <= 'f')) - m=m-'a'+10; + m = m - 'a' + 10; else if ((m >= 'A') && (m <= 'F')) - m=m-'A'+10; + m = m - 'A' + 10; else { - ASN1err(ASN1_F_A2I_ASN1_INTEGER,ASN1_R_NON_HEX_CHARACTERS); + ASN1err(ASN1_F_A2I_ASN1_INTEGER, + ASN1_R_NON_HEX_CHARACTERS); goto err; } - s[num+j]<<=4; - s[num+j]|=m; + s[num + j] <<= 4; + s[num + j] |= m; } } - num+=i; + num += i; if (again) - bufsize=BIO_gets(bp,buf,size); + bufsize = BIO_gets(bp, buf, size); else break; } - bs->length=num; - bs->data=s; - ret=1; + bs->length = num; + bs->data = s; + ret = 1; + err: if (0) { err_sl: - ASN1err(ASN1_F_A2I_ASN1_INTEGER,ASN1_R_SHORT_LINE); + ASN1err(ASN1_F_A2I_ASN1_INTEGER, ASN1_R_SHORT_LINE); } - return(ret); + return (ret); } - diff --git a/lib/libcrypto/asn1/f_string.c b/lib/libcrypto/asn1/f_string.c index 87d7aaa0dde..d42bcdb6ea9 100644 --- a/lib/libcrypto/asn1/f_string.c +++ b/lib/libcrypto/asn1/f_string.c @@ -5,21 +5,21 @@ * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. - * + * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * + * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -34,10 +34,10 @@ * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from + * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * + * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -49,7 +49,7 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * + * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence @@ -61,43 +61,50 @@ #include <openssl/buffer.h> #include <openssl/asn1.h> -int i2a_ASN1_STRING(BIO *bp, ASN1_STRING *a, int type) +int +i2a_ASN1_STRING(BIO *bp, ASN1_STRING *a, int type) { - int i,n=0; - static const char *h="0123456789ABCDEF"; + int i, n = 0; + static const char *h = "0123456789ABCDEF"; char buf[2]; - if (a == NULL) return(0); + if (a == NULL) + return (0); if (a->length == 0) { - if (BIO_write(bp,"0",1) != 1) goto err; - n=1; + if (BIO_write(bp, "0", 1) != 1) + goto err; + n = 1; } else { - for (i=0; i<a->length; i++) { - if ((i != 0) && (i%35 == 0)) { - if (BIO_write(bp,"\\\n",2) != 2) goto err; - n+=2; + for (i = 0; i < a->length; i++) { + if ((i != 0) && (i % 35 == 0)) { + if (BIO_write(bp, "\\\n", 2) != 2) + goto err; + n += 2; } - buf[0]=h[((unsigned char)a->data[i]>>4)&0x0f]; - buf[1]=h[((unsigned char)a->data[i] )&0x0f]; - if (BIO_write(bp,buf,2) != 2) goto err; - n+=2; + buf[0] = h[((unsigned char)a->data[i] >> 4) & 0x0f]; + buf[1] = h[((unsigned char)a->data[i]) & 0x0f]; + if (BIO_write(bp, buf, 2) != 2) + goto err; + n += 2; } } - return(n); + return (n); + err: - return(-1); + return (-1); } -int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size) +int +a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size) { - int ret=0; - int i,j,k,m,n,again,bufsize; - unsigned char *s=NULL,*sp; + int ret = 0; + int i, j, k, m, n, again, bufsize; + unsigned char *s = NULL, *sp; unsigned char *bufp; - int num=0,slen=0,first=1; + int num = 0, slen = 0, first = 1; - bufsize=BIO_gets(bp,buf,size); + bufsize = BIO_gets(bp, buf, size); for (;;) { if (bufsize < 1) { if (first) @@ -105,83 +112,92 @@ int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size) else goto err_sl; } - first=0; + first = 0; - i=bufsize; - if (buf[i-1] == '\n') buf[--i]='\0'; - if (i == 0) goto err_sl; - if (buf[i-1] == '\r') buf[--i]='\0'; - if (i == 0) goto err_sl; - again=(buf[i-1] == '\\'); + i = bufsize; + if (buf[i-1] == '\n') + buf[--i] = '\0'; + if (i == 0) + goto err_sl; + if (buf[i-1] == '\r') + buf[--i] = '\0'; + if (i == 0) + goto err_sl; + again = (buf[i - 1] == '\\'); - for (j=i-1; j>0; j--) { - if (!( ((buf[j] >= '0') && (buf[j] <= '9')) || - ((buf[j] >= 'a') && (buf[j] <= 'f')) || - ((buf[j] >= 'A') && (buf[j] <= 'F')))) { - i=j; + for (j = i - 1; j > 0; j--) { + if (!(((buf[j] >= '0') && (buf[j] <= '9')) || + ((buf[j] >= 'a') && (buf[j] <= 'f')) || + ((buf[j] >= 'A') && (buf[j] <= 'F')))) { + i = j; break; } } - buf[i]='\0'; + buf[i] = '\0'; /* We have now cleared all the crap off the end of the * line */ - if (i < 2) goto err_sl; + if (i < 2) + goto err_sl; - bufp=(unsigned char *)buf; + bufp = (unsigned char *)buf; - k=0; - i-=again; - if (i%2 != 0) { - ASN1err(ASN1_F_A2I_ASN1_STRING,ASN1_R_ODD_NUMBER_OF_CHARS); + k = 0; + i -= again; + if (i % 2 != 0) { + ASN1err(ASN1_F_A2I_ASN1_STRING, + ASN1_R_ODD_NUMBER_OF_CHARS); goto err; } - i/=2; - if (num+i > slen) { + i /= 2; + if (num + i > slen) { if (s == NULL) - sp=(unsigned char *)malloc( - (unsigned int)num+i*2); + sp = (unsigned char *)malloc( + (unsigned int)num + i * 2); else - sp=(unsigned char *)realloc(s, - (unsigned int)num+i*2); + sp = (unsigned char *)realloc(s, + (unsigned int)num + i * 2); if (sp == NULL) { - ASN1err(ASN1_F_A2I_ASN1_STRING,ERR_R_MALLOC_FAILURE); - if (s != NULL) free(s); + ASN1err(ASN1_F_A2I_ASN1_STRING, + ERR_R_MALLOC_FAILURE); + if (s != NULL) + free(s); goto err; } - s=sp; - slen=num+i*2; + s = sp; + slen = num + i * 2; } - for (j=0; j<i; j++,k+=2) { - for (n=0; n<2; n++) { - m=bufp[k+n]; + for (j = 0; j < i; j++, k += 2) { + for (n = 0; n < 2; n++) { + m = bufp[k + n]; if ((m >= '0') && (m <= '9')) - m-='0'; + m -= '0'; else if ((m >= 'a') && (m <= 'f')) - m=m-'a'+10; + m = m - 'a' + 10; else if ((m >= 'A') && (m <= 'F')) - m=m-'A'+10; + m = m - 'A' + 10; else { - ASN1err(ASN1_F_A2I_ASN1_STRING,ASN1_R_NON_HEX_CHARACTERS); + ASN1err(ASN1_F_A2I_ASN1_STRING, + ASN1_R_NON_HEX_CHARACTERS); goto err; } - s[num+j]<<=4; - s[num+j]|=m; + s[num + j] <<= 4; + s[num + j] |= m; } } - num+=i; + num += i; if (again) - bufsize=BIO_gets(bp,buf,size); + bufsize = BIO_gets(bp, buf, size); else break; } - bs->length=num; - bs->data=s; - ret=1; + bs->length = num; + bs->data = s; + ret = 1; + err: if (0) { err_sl: - ASN1err(ASN1_F_A2I_ASN1_STRING,ASN1_R_SHORT_LINE); + ASN1err(ASN1_F_A2I_ASN1_STRING, ASN1_R_SHORT_LINE); } - return(ret); + return (ret); } - |