Blame SOURCES/coolkey-cac-1.patch

d98f6e
diff -up ./src/coolkey/object.cpp.cac-1 ./src/coolkey/object.cpp
d98f6e
--- ./src/coolkey/object.cpp.cac-1	2010-06-23 04:46:35.726198827 -0700
d98f6e
+++ ./src/coolkey/object.cpp	2010-06-23 04:47:28.073827862 -0700
d98f6e
@@ -505,6 +505,10 @@ dataStart(const CKYByte *buf, unsigned i
d98f6e
     unsigned char tag;
d98f6e
     unsigned int used_length= 0;
d98f6e
 
d98f6e
+    if(!buf) {
d98f6e
+        return NULL;
d98f6e
+    }
d98f6e
+
d98f6e
     tag = buf[used_length++];
d98f6e
 
d98f6e
     /* blow out when we come to the end */
d98f6e
diff -up ./src/coolkey/slot.cpp.cac-1 ./src/coolkey/slot.cpp
d98f6e
--- ./src/coolkey/slot.cpp.cac-1	2010-06-23 04:46:22.718371631 -0700
d98f6e
+++ ./src/coolkey/slot.cpp	2010-06-23 04:57:04.417774402 -0700
d98f6e
@@ -2192,6 +2192,10 @@ Slot::readCACCertificateFirst(CKYBuffer 
d98f6e
 	if (throwException && (status != CKYSUCCESS)) {
d98f6e
 	    handleConnectionError();
d98f6e
 	}
d98f6e
+        
d98f6e
+        if(CKYBuffer_Size(cert) == 0) {
d98f6e
+            handleConnectionError();
d98f6e
+        }
d98f6e
 	return status;
d98f6e
     }
d98f6e