Commit Diff


commit - 6a516036da003849e63b9aec1e594548ec0da278
commit + 53d6518a0026320c70a6ffb8ddd91512d0cde20e
blob - d7cfd6900a4db0a54e863e36e34a9a23a922271b
blob + fa706eca964446108ad707d3d9e846147f56e4e8
--- pdf.c
+++ pdf.c
@@ -784,15 +784,17 @@ act_viol(const HParseResult *p, void *u)
 	char *viol = u;
 	uint32_t severity;
 	uint32_t offset;
-	HParseResult *severity_parse;
+	HParseResult *res;
 
-	severity_parse = h_parse(p_violsev, (uint8_t *)viol, strlen(viol));
-	if (severity_parse == NULL) {
+	res = h_parse(p_violsev, (uint8_t *)viol, strlen(viol));
+	if (res == NULL) {
 	        log_message(99999, "Severity for violation %s not assigned!\n",
 	            viol);
 	        severity = 99999;
-	} else
-	        severity = severity_parse->ast->seq->elements[0]->uint;
+	} else {
+	        severity = res->ast->seq->elements[0]->uint;
+		h_parse_result_free(res);
+	}
 
 	offset = p->ast->seq->elements[p->ast->seq->used-1]->uint / 8;
 	log_message(severity, "VIOLATION[%d]@%d (0x%x): %s\n", severity,