diff --git a/gtests/net/packetdrill/tcp_options.c b/gtests/net/packetdrill/tcp_options.c index 2998c312eb8d980e801fcfe05829c20ddd101a81..b7def9db87fe3d6c61c6df56c5363bf4033da1ac 100644 --- a/gtests/net/packetdrill/tcp_options.c +++ b/gtests/net/packetdrill/tcp_options.c @@ -49,6 +49,7 @@ int tcp_options_append(struct tcp_options *options, memcpy(options->data + options->length, option, option->length); options->length += option->length; assert(options->length <= sizeof(options->data)); + free(option); return STATUS_OK; } diff --git a/gtests/net/packetdrill/tcp_packet.c b/gtests/net/packetdrill/tcp_packet.c index 1292b5975505325fe58558962877628a4354e509..fc32605c9411cd2e9593f403f644a48b2486cc3a 100644 --- a/gtests/net/packetdrill/tcp_packet.c +++ b/gtests/net/packetdrill/tcp_packet.c @@ -58,7 +58,7 @@ struct packet *new_tcp_packet(int address_family, u16 tcp_payload_bytes, u32 ack_sequence, s32 window, - const struct tcp_options *tcp_options, + struct tcp_options *tcp_options, bool ignore_ts_val, bool abs_ts_ecr, bool abs_seq, @@ -182,6 +182,7 @@ struct packet *new_tcp_packet(int address_family, /* Copy TCP options into packet */ memcpy(tcp_option_start, tcp_options->data, tcp_options->length); + free(tcp_options); } if (ignore_ts_val) { diff --git a/gtests/net/packetdrill/tcp_packet.h b/gtests/net/packetdrill/tcp_packet.h index 1a9115cd5750c453d1927725fbd10ea07394e70c..4a2947a75fbddfcb7c31bb08dcb49d1da5e973ca 100644 --- a/gtests/net/packetdrill/tcp_packet.h +++ b/gtests/net/packetdrill/tcp_packet.h @@ -43,7 +43,7 @@ extern struct packet *new_tcp_packet(int address_family, u16 tcp_payload_bytes, u32 ack_sequence, s32 window, - const struct tcp_options *tcp_options, + struct tcp_options *tcp_options, bool ignore_ts_val, bool abs_ts_ecr, bool abs_seq,