};
/* write buffer to file */
-static int write_file(const char *filename, void *buf, size_t len, bool append) {
+static bool write_file(const char *filename, void *buf, size_t len, bool append) {
FILE *f;
size_t outlen;
f = fopen(filename, append?"a":"w");
if (!f)
- return 1;
+ return false;
outlen = fwrite(buf, 1, len, f);
fclose(f);
bufpt = (struct blob_attr *)filebuf;
do {
- pret = blob_parse(bufpt, certtb, cert_policy, CERT_ATTR_MAX);
+ pret = blob_parse_untrusted(bufpt, len, certtb, cert_policy, CERT_ATTR_MAX);
if (pret <= 0)
/* no attributes found */
break;
switch(cert_policy[i].type) {
case BLOB_ATTR_BINARY:
- fprintf(stdout, "signature:\n---\n%s---\n", (char *) blob_data(v));
+ printf("signature:\n---\n%s---\n", (char *) blob_data(v));
break;
case BLOB_ATTR_NESTED:
json = blobmsg_format_json_indent(blob_data(v), false, 0);
DPRINTF("cannot parse payload\n");
continue;
}
- fprintf(stdout, "payload:\n---\n%s\n---\n", json);
+ printf("payload:\n---\n%s\n---\n", json);
free(json);
break;
}
}
list_for_each_entry(cobj, &certchain, list) {
- fprintf(stdout, "=== CHAIN ELEMENT %02u ===\n", ++count);
+ printf("=== CHAIN ELEMENT %02u ===\n", ++count);
cert_dump_blob(cobj->cert);
}