base64: Remove unnecessary overflow checks.
[paraslash.git] / base64.c
index 4809a2f285f63dd83132f693be23f68945fce21d..382f1519370d77cd33f473023f493571caf0a53a 100644 (file)
--- a/base64.c
+++ b/base64.c
@@ -46,12 +46,10 @@ int base64_decode(char const *src, size_t encoded_size, char **result,
        char *pos;
        const char *end = src + encoded_size;
        unsigned char *target;
-       size_t targsize;
 
        if (encoded_size == (size_t)-1)
                encoded_size = strlen(src);
-       targsize = BASE64_MAX_DECODED_SIZE(encoded_size);
-       target = para_malloc(targsize + 1);
+       target = para_malloc(BASE64_MAX_DECODED_SIZE(encoded_size) + 1);
 
        state = 0;
        tarindex = 0;
@@ -70,30 +68,22 @@ int base64_decode(char const *src, size_t encoded_size, char **result,
 
                switch (state) {
                case 0:
-                       if (tarindex >= targsize)
-                               goto fail;
                        target[tarindex] = (pos - Base64) << 2;
                        state = 1;
                        break;
                case 1:
-                       if (tarindex + 1 >= targsize)
-                               goto fail;
                        target[tarindex] |= (pos - Base64) >> 4;
                        target[tarindex + 1] = ((pos - Base64) & 0x0f) << 4;
                        tarindex++;
                        state = 2;
                        break;
                case 2:
-                       if (tarindex + 1 >= targsize)
-                               goto fail;
                        target[tarindex] |= (pos - Base64) >> 2;
                        target[tarindex + 1] = ((pos - Base64) & 0x03) << 6;
                        tarindex++;
                        state = 3;
                        break;
                case 3:
-                       if (tarindex >= targsize)
-                               goto fail;
                        target[tarindex] |= pos - Base64;
                        tarindex++;
                        state = 0;