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);
 }
 
openSUSE Build Service is sponsored by