char * loc; // loc at value
char * loc2; // loc at "base64"
int len;
- int rc = 0;
BYTE *buf;
+ int buf_len;
DEBUG_CAL("getDigestFlag -");
return -1; // end
}
if ((loc[0] == '=') && (loc[1] == '=')) { // ==
- rc = 1;
+ // operand is ==
} else {
ERROR("ERROR 002 [%c%c] not == \n", loc[0], loc[1]);
return -1; // unknown operand
} else {
/* Binary Model */
/* Base64 str -> BYTE[] */
- buf = (BYTE *) malloc(SHA1_DIGEST_SIZE + 1);
+ buf = decodeBase64(
+ (char *)loc,
+ SHA1_BASE64_DIGEST_SIZE,
+ &buf_len);
if (buf == NULL) {
- ERROR("no memory");
- return -1;
- }
-
- // TODO(munetoh) get len, "<"
- rc = decodeBase64(buf, (unsigned char *)loc, SHA1_BASE64_DIGEST_SIZE);
- if (rc == SHA1_DIGEST_SIZE) {
- // TODO(munetoh) digest size change by alg
- // this code is SHA1 only
- *digest = buf;
- *digest_size = rc;
- return 1;
- } else {
- ERROR("getDigestFlag() - decodeBase64() was failed \n");
- free(buf);
+ ERROR("decodeBase64 fail");
*digest = NULL;
*digest_size = 0;
return -1;
}
+ *digest = buf;
+ // TODO buf_len >= SHA1_DIGEST_SIZE
+ *digest_size = SHA1_DIGEST_SIZE;
+ return 1;
}
}
}
return PTS_INTERNAL_ERROR;
}
+#if 0
/**
- * get Event String (malloc)
+ * get Event String (malloc) - obsolete function
*/
char *getEventString(OPENPTS_PCR_EVENT_WRAPPER *eventWrapper) {
// int len;
return buf;
}
+#endif
/**
* get counter(int) value from property