diff options
author | Dan McGee <dan@archlinux.org> | 2011-08-15 03:39:43 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-08-15 13:24:49 +0200 |
commit | 83f076d3a81e5a625c07fdaf82a5e598a1c75c71 (patch) | |
tree | 26fbabfa4dc21d8c12e318a54826b8a98b12def6 | |
parent | 835365b817285abf136fc8509ae9d1bf97f55dff (diff) | |
download | pacman-83f076d3a81e5a625c07fdaf82a5e598a1c75c71.tar.gz pacman-83f076d3a81e5a625c07fdaf82a5e598a1c75c71.tar.xz |
Update base64 PolarSSL code
Also adjust our code using it for the size_t adjustments made by
upstream.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | lib/libalpm/base64.c | 12 | ||||
-rw-r--r-- | lib/libalpm/base64.h | 14 | ||||
-rw-r--r-- | lib/libalpm/signing.c | 11 |
3 files changed, 20 insertions, 17 deletions
diff --git a/lib/libalpm/base64.c b/lib/libalpm/base64.c index fa8bec5c..5c9fa814 100644 --- a/lib/libalpm/base64.c +++ b/lib/libalpm/base64.c @@ -65,10 +65,10 @@ static const unsigned char base64_dec_map[128] = /* * Encode a buffer into base64 format */ -int base64_encode( unsigned char *dst, int *dlen, - const unsigned char *src, int slen ) +int base64_encode( unsigned char *dst, size_t *dlen, + const unsigned char *src, size_t slen ) { - int i, n; + size_t i, n; int C1, C2, C3; unsigned char *p; @@ -128,10 +128,10 @@ int base64_encode( unsigned char *dst, int *dlen, /* * Decode a base64-formatted buffer */ -int base64_decode( unsigned char *dst, int *dlen, - const unsigned char *src, int slen ) +int base64_decode( unsigned char *dst, size_t *dlen, + const unsigned char *src, size_t slen ) { - int i, j, n; + size_t i, j, n; unsigned long x; unsigned char *p; diff --git a/lib/libalpm/base64.h b/lib/libalpm/base64.h index 0ae9612c..406aefa1 100644 --- a/lib/libalpm/base64.h +++ b/lib/libalpm/base64.h @@ -25,8 +25,10 @@ #ifndef _BASE64_H #define _BASE64_H -#define POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL 0x0010 -#define POLARSSL_ERR_BASE64_INVALID_CHARACTER 0x0012 +#include <string.h> + +#define POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL -0x0010 /**< Output buffer too small. */ +#define POLARSSL_ERR_BASE64_INVALID_CHARACTER -0x0012 /**< Invalid character in input. */ /** * \brief Encode a buffer into base64 format @@ -43,8 +45,8 @@ * \note Call this function with *dlen = 0 to obtain the * required buffer size in *dlen */ -int base64_encode( unsigned char *dst, int *dlen, - const unsigned char *src, int slen ); +int base64_encode( unsigned char *dst, size_t *dlen, + const unsigned char *src, size_t slen ); /** * \brief Decode a base64-formatted buffer @@ -62,7 +64,7 @@ int base64_encode( unsigned char *dst, int *dlen, * \note Call this function with *dlen = 0 to obtain the * required buffer size in *dlen */ -int base64_decode( unsigned char *dst, int *dlen, - const unsigned char *src, int slen ); +int base64_decode( unsigned char *dst, size_t *dlen, + const unsigned char *src, size_t slen ); #endif /* base64.h */ diff --git a/lib/libalpm/signing.c b/lib/libalpm/signing.c index 78e6264b..6ca32fd5 100644 --- a/lib/libalpm/signing.c +++ b/lib/libalpm/signing.c @@ -168,20 +168,21 @@ error: * @return 0 on success, 1 on failure to properly decode */ static int decode_signature(const char *base64_data, - unsigned char **data, int *data_len) { + unsigned char **data, size_t *data_len) { unsigned char *usline; - int len; + size_t len; len = strlen(base64_data); usline = (unsigned char *)base64_data; - int ret, destlen = 0; + int ret; + size_t destlen = 0; /* get the necessary size for the buffer by passing 0 */ ret = base64_decode(NULL, &destlen, usline, len); if(ret != 0 && ret != POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL) { goto error; } /* alloc our memory and repeat the call to decode */ - MALLOC(*data, (size_t)destlen, goto error); + MALLOC(*data, destlen, goto error); ret = base64_decode(*data, &destlen, usline, len); if(ret != 0) { goto error; @@ -270,7 +271,7 @@ int _alpm_gpgme_checksig(alpm_handle_t *handle, const char *path, /* next create data object for the signature */ if(base64_sig) { /* memory-based, we loaded it from a sync DB */ - int data_len; + size_t data_len; int decode_ret = decode_signature(base64_sig, &decoded_sigdata, &data_len); if(decode_ret) { |