X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavutil%2Fbase64.c;h=725b03504d68fea5a11073affb6fa43413cfb33b;hb=b94ec30428b9696f99b08055735689623fe63954;hp=eb856907071bff043c3f76a219c58fd5f3e3ebd1;hpb=5118bd441d47fc56d465110cd409afbcca70e3a2;p=ffmpeg diff --git a/libavutil/base64.c b/libavutil/base64.c index eb856907071..725b03504d6 100644 --- a/libavutil/base64.c +++ b/libavutil/base64.c @@ -1,25 +1,25 @@ /* * Copyright (c) 2006 Ryan Martell. (rdm4@martellventures.com) * - * This file is part of FFmpeg. + * This file is part of Libav. * - * FFmpeg is free software; you can redistribute it and/or + * Libav is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * - * FFmpeg is distributed in the hope that it will be useful, + * Libav is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software + * License along with Libav; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /** - * @file libavutil/base64.c + * @file * @brief Base64 encode/decode * @author Ryan Martell (with lots of Michael) */ @@ -42,12 +42,12 @@ static const uint8_t map2[] = 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33 }; -int av_base64_decode(uint8_t * out, const char *in, int out_size) +int av_base64_decode(uint8_t *out, const char *in, int out_size) { - int i, v; + int i; + unsigned v = 0; uint8_t *dst = out; - v = 0; for (i = 0; in[i] && in[i] != '='; i++) { unsigned int index= in[i]-43; if (index>=FF_ARRAY_ELEMS(map2) || map2[index] == 0xff) @@ -79,7 +79,7 @@ char *av_base64_encode(char *out, int out_size, const uint8_t *in, int in_size) int bytes_remaining = in_size; if (in_size >= UINT_MAX / 4 || - out_size < (in_size+2) / 3 * 4 + 1) + out_size < AV_BASE64_SIZE(in_size)) return NULL; ret = dst = out; while (bytes_remaining) { @@ -101,12 +101,11 @@ char *av_base64_encode(char *out, int out_size, const uint8_t *in, int in_size) #ifdef TEST -#undef printf - #define MAX_DATA_SIZE 1024 #define MAX_ENCODED_SIZE 2048 -int test_encode_decode(const uint8_t *data, unsigned int data_size, const char *encoded_ref) +static int test_encode_decode(const uint8_t *data, unsigned int data_size, + const char *encoded_ref) { char encoded[MAX_ENCODED_SIZE]; uint8_t data2[MAX_DATA_SIZE]; @@ -157,7 +156,10 @@ int main(void) for (i = 0; i < FF_ARRAY_ELEMS(tests); i++) error_count += test_encode_decode(tests[i].data, strlen(tests[i].data), tests[i].encoded_ref); - return error_count; + if (error_count) + printf("Error Count: %d.\n", error_count); + + return !!error_count; } #endif