Off by one error in buffer length (issue 7379)
authorTilghman Lesher <tilghman@meg.abyt.es>
Fri, 25 Aug 2006 17:48:34 +0000 (17:48 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Fri, 25 Aug 2006 17:48:34 +0000 (17:48 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41103 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/utils.c

index 0aaa791..feb4a62 100644 (file)
@@ -363,7 +363,7 @@ int ast_base64encode_full(char *dst, const unsigned char *src, int srclen, int m
                byte |= *(src++);
                bits += 8;
                cntin++;
-               if ((bits == 24) && (cnt + 4 < max)) {
+               if ((bits == 24) && (cnt + 4 <= max)) {
                        *dst++ = base64[(byte >> 18) & 0x3f];
                        *dst++ = base64[(byte >> 12) & 0x3f];
                        *dst++ = base64[(byte >> 6) & 0x3f];
@@ -379,7 +379,7 @@ int ast_base64encode_full(char *dst, const unsigned char *src, int srclen, int m
                        col = 0;
                }
        }
-       if (bits && (cnt + 4 < max)) {
+       if (bits && (cnt + 4 <= max)) {
                /* Add one last character for the remaining bits, 
                   padding the rest with 0 */
                byte <<= 24 - bits;