summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/base64.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/base64.c b/src/base64.c
index ba8acca..ee02356 100644
--- a/src/base64.c
+++ b/src/base64.c
@@ -101,13 +101,13 @@ unsigned char *base64decode(const char *buf, size_t *size)
101 w3 = tmpval[2]; 101 w3 = tmpval[2];
102 w4 = tmpval[3]; 102 w4 = tmpval[3];
103 103
104 if (w2 >= 0) { 104 if (w1 >= 0 && w2 >= 0) {
105 outbuf[p++] = (unsigned char)(((w1 << 2) + (w2 >> 4)) & 0xFF); 105 outbuf[p++] = (unsigned char)(((w1 << 2) + (w2 >> 4)) & 0xFF);
106 } 106 }
107 if (w3 >= 0) { 107 if (w2 >= 0 && w3 >= 0) {
108 outbuf[p++] = (unsigned char)(((w2 << 4) + (w3 >> 2)) & 0xFF); 108 outbuf[p++] = (unsigned char)(((w2 << 4) + (w3 >> 2)) & 0xFF);
109 } 109 }
110 if (w4 >= 0) { 110 if (w3 >= 0 && w4 >= 0) {
111 outbuf[p++] = (unsigned char)(((w3 << 6) + w4) & 0xFF); 111 outbuf[p++] = (unsigned char)(((w3 << 6) + w4) & 0xFF);
112 } 112 }
113 } 113 }