diff -Naur ike-scan-1.9-orig/ike-scan.c ike-scan-1.9/ike-scan.c --- ike-scan-1.9-orig/ike-scan.c 2007-01-14 14:05:42.000000000 -0500 +++ ike-scan-1.9/ike-scan.c 2017-06-06 14:40:47.946734542 -0400 @@ -1797,6 +1797,7 @@ cp += 4; memcpy(cp, orig_packet_out, packet_out_len); packet_out_len += 4; + free(orig_packet_out); } /* * Send the packet. @@ -2176,11 +2177,9 @@ unsigned char *attr; size_t attr_len; - add_attr(0, NULL, 'B', OAKLEY_KEY_LENGTH, 0, 256, NULL); attr = add_attr(1, &attr_len, '\0', 0, 0, 0, NULL); add_transform2(0, NULL, IKEV2_TYPE_ENCR, IKEV2_ENCR_AES_CBC, attr, attr_len); free(attr); - add_attr(0, NULL, 'B', OAKLEY_KEY_LENGTH, 0, 128, NULL); attr = add_attr(1, &attr_len, '\0', 0, 0, 0, NULL); add_transform2(0, NULL, IKEV2_TYPE_ENCR, IKEV2_ENCR_AES_CBC, attr, attr_len); free(attr); diff -Naur ike-scan-1.9-orig/isakmp.c ike-scan-1.9/isakmp.c --- ike-scan-1.9-orig/isakmp.c 2007-01-14 14:05:42.000000000 -0500 +++ ike-scan-1.9/isakmp.c 2017-06-06 14:40:47.947734582 -0400 @@ -447,6 +447,7 @@ cp = payload; memcpy(cp, hdr, sizeof(struct isakmp_sa2)); + free(hdr); cp += sizeof(struct isakmp_sa2); memcpy(cp, proposals, proposal_len);