File 0280-decode64.patch of Package sblim-sfcb
diff -up ./support.c.orig ./support.c
--- ./support.c.orig 2008-12-04 17:19:42.000000000 -0700
+++ ./support.c 2008-12-04 17:22:28.000000000 -0700
@@ -790,7 +790,11 @@ char *decode64(char *din)
unsigned char *data=(unsigned char*)din;
int i, o = 0, len = strlen((char*)data);
unsigned char c, c1;
- unsigned char *ret = (unsigned char *) malloc(len * 2);
+ unsigned char *ret = NULL;
+ if (len > 0)
+ {
+ ret = (unsigned char *) malloc(len * 2);
+ }
for (i = 0; i < len; ++i) {
c = (char) find(cvt, data[i]);
@@ -817,7 +821,10 @@ char *decode64(char *din)
}
}
- ret[o] = 0;
+ if (ret)
+ {
+ ret[o] = 0;
+ }
return ((char*)ret);
}