diff --git a/gtests/net/packetdrill/script.c b/gtests/net/packetdrill/script.c index cc82e4b33522602bbf590c29a5a349b5e0d463d6..630abcb16a9e93a60846e9ac34d3f55e3d7b5ff1 100644 --- a/gtests/net/packetdrill/script.c +++ b/gtests/net/packetdrill/script.c @@ -336,12 +336,14 @@ void free_expression(struct expression *expression) assert(expression->value.linger); free_expression(expression->value.linger->l_onoff); free_expression(expression->value.linger->l_linger); + free(expression->value.linger); break; #if defined(__FreeBSD__) || defined(__NetBSD__) case EXPR_ACCEPT_FILTER_ARG: assert(expression->value.accept_filter_arg); free_expression(expression->value.accept_filter_arg->af_name); free_expression(expression->value.accept_filter_arg->af_arg); + free(expression->value.accept_filter_arg); break; #endif #if defined(__FreeBSD__) @@ -349,6 +351,7 @@ void free_expression(struct expression *expression) assert(expression->value.tcp_function_set); free_expression(expression->value.tcp_function_set->function_set_name); free_expression(expression->value.tcp_function_set->pcbcnt); + free(expression->value.tcp_function_set); break; #endif case EXPR_SCTP_RTOINFO: @@ -357,16 +360,19 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_rtoinfo->srto_initial); free_expression(expression->value.sctp_rtoinfo->srto_max); free_expression(expression->value.sctp_rtoinfo->srto_min); + free(expression->value.sctp_rtoinfo); break; case EXPR_SCTP_HMACALGO: assert(expression->value.sctp_hmacalgo); free_expression(expression->value.sctp_hmacalgo->shmac_number_of_idents); free_expression(expression->value.sctp_hmacalgo->shmac_idents); + free(expression->value.sctp_hmacalgo); break; case EXPR_SCTP_ASSOC_VALUE: assert(expression->value.sctp_assoc_value); free_expression(expression->value.sctp_assoc_value->assoc_id); free_expression(expression->value.sctp_assoc_value->assoc_value); + free(expression->value.sctp_assoc_value); break; case EXPR_SCTP_INITMSG: assert(expression->value.sctp_initmsg); @@ -374,17 +380,20 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_initmsg->sinit_max_instreams); free_expression(expression->value.sctp_initmsg->sinit_max_attempts); free_expression(expression->value.sctp_initmsg->sinit_max_init_timeo); + free(expression->value.sctp_initmsg); break; case EXPR_SCTP_AUTHKEYID: assert(expression->value.sctp_authkeyid); free_expression(expression->value.sctp_authkeyid->scact_assoc_id); free_expression(expression->value.sctp_authkeyid->scact_keynumber); + free(expression->value.sctp_authkeyid); break; case EXPR_SCTP_SACKINFO: assert(expression->value.sctp_sack_info); free_expression(expression->value.sctp_sack_info->sack_assoc_id); free_expression(expression->value.sctp_sack_info->sack_delay); free_expression(expression->value.sctp_sack_info->sack_freq); + free(expression->value.sctp_sack_info); break; case EXPR_SCTP_PADDRINFO: assert(expression->value.sctp_paddrinfo); @@ -395,6 +404,7 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_paddrinfo->spinfo_srtt); free_expression(expression->value.sctp_paddrinfo->spinfo_rto); free_expression(expression->value.sctp_paddrinfo->spinfo_mtu); + free(expression->value.sctp_paddrinfo); break; case EXPR_SCTP_STATUS: assert(expression->value.sctp_status); @@ -407,6 +417,7 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_status->sstat_outstrms); free_expression(expression->value.sctp_status->sstat_fragmentation_point); free_expression(expression->value.sctp_status->sstat_primary); + free(expression->value.sctp_status); break; case EXPR_SCTP_PEER_ADDR_PARAMS: assert(expression->value.sctp_paddrparams); @@ -418,26 +429,33 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_paddrparams->spp_flags); free_expression(expression->value.sctp_paddrparams->spp_ipv6_flowlabel); free_expression(expression->value.sctp_paddrparams->spp_dscp); + free(expression->value.sctp_paddrparams); break; case EXPR_SCTP_STREAM_VALUE: assert(expression->value.sctp_stream_value); free_expression(expression->value.sctp_stream_value->stream_id); free_expression(expression->value.sctp_stream_value->stream_value); + free(expression->value.sctp_stream_value); break; case EXPR_SCTP_ASSOCPARAMS: + assert(expression->value.sctp_assocparams); free_expression(expression->value.sctp_assocparams->sasoc_assoc_id); free_expression(expression->value.sctp_assocparams->sasoc_asocmaxrxt); free_expression(expression->value.sctp_assocparams->sasoc_number_peer_destinations); free_expression(expression->value.sctp_assocparams->sasoc_peer_rwnd); free_expression(expression->value.sctp_assocparams->sasoc_local_rwnd); free_expression(expression->value.sctp_assocparams->sasoc_cookie_life); + free(expression->value.sctp_assocparams); break; case EXPR_SCTP_EVENT: + assert(expression->value.sctp_event); free_expression(expression->value.sctp_event->se_assoc_id); free_expression(expression->value.sctp_event->se_type); free_expression(expression->value.sctp_event->se_on); + free(expression->value.sctp_event); break; case EXPR_SCTP_EVENT_SUBSCRIBE: + assert(expression->value.sctp_event_subscribe); free_expression(expression->value.sctp_event_subscribe->sctp_data_io_event); free_expression(expression->value.sctp_event_subscribe->sctp_association_event); free_expression(expression->value.sctp_event_subscribe->sctp_address_event); @@ -448,22 +466,30 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_event_subscribe->sctp_adaptation_layer_event); free_expression(expression->value.sctp_event_subscribe->sctp_authentication_event); free_expression(expression->value.sctp_event_subscribe->sctp_sender_dry_event); + free(expression->value.sctp_event_subscribe); break; case EXPR_SCTP_SNDINFO: + assert(expression->value.sctp_sndinfo); free_expression(expression->value.sctp_sndinfo->snd_sid); free_expression(expression->value.sctp_sndinfo->snd_flags); free_expression(expression->value.sctp_sndinfo->snd_ppid); free_expression(expression->value.sctp_sndinfo->snd_context); free_expression(expression->value.sctp_sndinfo->snd_assoc_id); + free(expression->value.sctp_sndinfo); break; case EXPR_SCTP_SETPRIM: + assert(expression->value.sctp_setprim); free_expression(expression->value.sctp_setprim->ssp_assoc_id); free_expression(expression->value.sctp_setprim->ssp_addr); + free(expression->value.sctp_setprim); break; case EXPR_SCTP_SETADAPTATION: + assert(expression->value.sctp_setadaptation); free_expression(expression->value.sctp_setadaptation->ssb_adaptation_ind); + free(expression->value.sctp_setadaptation); break; case EXPR_SCTP_SNDRCVINFO: + assert(expression->value.sctp_sndrcvinfo); free_expression(expression->value.sctp_sndrcvinfo->sinfo_stream); free_expression(expression->value.sctp_sndrcvinfo->sinfo_ssn); free_expression(expression->value.sctp_sndrcvinfo->sinfo_flags); @@ -473,26 +499,36 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_sndrcvinfo->sinfo_tsn); free_expression(expression->value.sctp_sndrcvinfo->sinfo_cumtsn); free_expression(expression->value.sctp_sndrcvinfo->sinfo_assoc_id); + free(expression->value.sctp_sndrcvinfo); break; case EXPR_SCTP_PRINFO: + assert(expression->value.sctp_prinfo); free_expression(expression->value.sctp_prinfo->pr_policy); free_expression(expression->value.sctp_prinfo->pr_value); - break; + free(expression->value.sctp_prinfo); + break; case EXPR_SCTP_DEFAULT_PRINFO: + assert(expression->value.sctp_default_prinfo); free_expression(expression->value.sctp_default_prinfo->pr_policy); free_expression(expression->value.sctp_default_prinfo->pr_value); free_expression(expression->value.sctp_default_prinfo->pr_assoc_id); + free(expression->value.sctp_default_prinfo); break; case EXPR_SCTP_AUTHINFO: + assert(expression->value.sctp_authinfo); free_expression(expression->value.sctp_authinfo->auth_keynumber); + free(expression->value.sctp_authinfo); break; case EXPR_SCTP_SENDV_SPA: + assert(expression->value.sctp_sendv_spa); free_expression(expression->value.sctp_sendv_spa->sendv_flags); free_expression(expression->value.sctp_sendv_spa->sendv_sndinfo); free_expression(expression->value.sctp_sendv_spa->sendv_prinfo); free_expression(expression->value.sctp_sendv_spa->sendv_authinfo); + free(expression->value.sctp_sendv_spa); break; case EXPR_SCTP_RCVINFO: + assert(expression->value.sctp_rcvinfo); free_expression(expression->value.sctp_rcvinfo->rcv_sid); free_expression(expression->value.sctp_rcvinfo->rcv_ssn); free_expression(expression->value.sctp_rcvinfo->rcv_flags); @@ -501,19 +537,25 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_rcvinfo->rcv_cumtsn); free_expression(expression->value.sctp_rcvinfo->rcv_context); free_expression(expression->value.sctp_rcvinfo->rcv_assoc_id); + free(expression->value.sctp_rcvinfo); break; case EXPR_SCTP_NXTINFO: + assert(expression->value.sctp_nxtinfo); free_expression(expression->value.sctp_nxtinfo->nxt_sid); free_expression(expression->value.sctp_nxtinfo->nxt_flags); free_expression(expression->value.sctp_nxtinfo->nxt_ppid); free_expression(expression->value.sctp_nxtinfo->nxt_length); free_expression(expression->value.sctp_nxtinfo->nxt_assoc_id); + free(expression->value.sctp_nxtinfo); break; case EXPR_SCTP_RECVV_RN: + assert(expression->value.sctp_recvv_rn); free_expression(expression->value.sctp_recvv_rn->recvv_rcvinfo); free_expression(expression->value.sctp_recvv_rn->recvv_nxtinfo); + free(expression->value.sctp_recvv_rn); break; case EXPR_SCTP_ASSOC_CHANGE: + assert(expression->value.sctp_assoc_change); free_expression(expression->value.sctp_assoc_change->sac_type); free_expression(expression->value.sctp_assoc_change->sac_flags); free_expression(expression->value.sctp_assoc_change->sac_length); @@ -523,8 +565,10 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_assoc_change->sac_inbound_streams); free_expression(expression->value.sctp_assoc_change->sac_assoc_id); free_expression(expression->value.sctp_assoc_change->sac_info); + free(expression->value.sctp_assoc_change); break; case EXPR_SCTP_PADDR_CHANGE: + assert(expression->value.sctp_paddr_change); free_expression(expression->value.sctp_paddr_change->spc_type); free_expression(expression->value.sctp_paddr_change->spc_flags); free_expression(expression->value.sctp_paddr_change->spc_length); @@ -532,16 +576,20 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_paddr_change->spc_state); free_expression(expression->value.sctp_paddr_change->spc_error); free_expression(expression->value.sctp_paddr_change->spc_assoc_id); + free(expression->value.sctp_paddr_change); break; case EXPR_SCTP_REMOTE_ERROR: + assert(expression->value.sctp_remote_error); free_expression(expression->value.sctp_remote_error->sre_type); free_expression(expression->value.sctp_remote_error->sre_flags); free_expression(expression->value.sctp_remote_error->sre_length); free_expression(expression->value.sctp_remote_error->sre_error); free_expression(expression->value.sctp_remote_error->sre_assoc_id); free_expression(expression->value.sctp_remote_error->sre_data); + free(expression->value.sctp_remote_error); break; case EXPR_SCTP_SEND_FAILED: + assert(expression->value.sctp_send_failed); free_expression(expression->value.sctp_send_failed->ssf_type); free_expression(expression->value.sctp_send_failed->ssf_flags); free_expression(expression->value.sctp_send_failed->ssf_length); @@ -549,21 +597,27 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_send_failed->ssf_info); free_expression(expression->value.sctp_send_failed->ssf_assoc_id); free_expression(expression->value.sctp_send_failed->ssf_data); + free(expression->value.sctp_send_failed); break; case EXPR_SCTP_SHUTDOWN_EVENT: + assert(expression->value.sctp_shutdown_event); free_expression(expression->value.sctp_shutdown_event->sse_type); free_expression(expression->value.sctp_shutdown_event->sse_flags); free_expression(expression->value.sctp_shutdown_event->sse_length); free_expression(expression->value.sctp_shutdown_event->sse_assoc_id); + free(expression->value.sctp_shutdown_event); break; case EXPR_SCTP_ADAPTATION_EVENT: + assert(expression->value.sctp_adaptation_event); free_expression(expression->value.sctp_adaptation_event->sai_type); free_expression(expression->value.sctp_adaptation_event->sai_flags); free_expression(expression->value.sctp_adaptation_event->sai_length); free_expression(expression->value.sctp_adaptation_event->sai_adaptation_ind); free_expression(expression->value.sctp_adaptation_event->sai_assoc_id); + free(expression->value.sctp_adaptation_event); break; case EXPR_SCTP_PDAPI_EVENT: + assert(expression->value.sctp_pdapi_event); free_expression(expression->value.sctp_pdapi_event->pdapi_type); free_expression(expression->value.sctp_pdapi_event->pdapi_flags); free_expression(expression->value.sctp_pdapi_event->pdapi_length); @@ -571,22 +625,28 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_pdapi_event->pdapi_stream); free_expression(expression->value.sctp_pdapi_event->pdapi_seq); free_expression(expression->value.sctp_pdapi_event->pdapi_assoc_id); + free(expression->value.sctp_pdapi_event); break; case EXPR_SCTP_AUTHKEY_EVENT: + assert(expression->value.sctp_authkey_event); free_expression(expression->value.sctp_authkey_event->auth_type); free_expression(expression->value.sctp_authkey_event->auth_flags); free_expression(expression->value.sctp_authkey_event->auth_length); free_expression(expression->value.sctp_authkey_event->auth_keynumber); free_expression(expression->value.sctp_authkey_event->auth_indication); free_expression(expression->value.sctp_authkey_event->auth_assoc_id); + free(expression->value.sctp_authkey_event); break; case EXPR_SCTP_SENDER_DRY_EVENT: + assert(expression->value.sctp_sender_dry_event); free_expression(expression->value.sctp_sender_dry_event->sender_dry_type); free_expression(expression->value.sctp_sender_dry_event->sender_dry_flags); free_expression(expression->value.sctp_sender_dry_event->sender_dry_length); free_expression(expression->value.sctp_sender_dry_event->sender_dry_assoc_id); + free(expression->value.sctp_sender_dry_event); break; case EXPR_SCTP_SEND_FAILED_EVENT: + assert(expression->value.sctp_send_failed_event); free_expression(expression->value.sctp_send_failed_event->ssfe_type); free_expression(expression->value.sctp_send_failed_event->ssfe_flags); free_expression(expression->value.sctp_send_failed_event->ssfe_length); @@ -594,13 +654,17 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_send_failed_event->ssfe_info); free_expression(expression->value.sctp_send_failed_event->ssfe_assoc_id); free_expression(expression->value.sctp_send_failed_event->ssfe_data); + free(expression->value.sctp_send_failed_event); break; case EXPR_SCTP_TLV: + assert(expression->value.sctp_tlv); free_expression(expression->value.sctp_tlv->sn_type); free_expression(expression->value.sctp_tlv->sn_flags); free_expression(expression->value.sctp_tlv->sn_length); + free(expression->value.sctp_tlv); break; case EXPR_SCTP_EXTRCVINFO: + assert(expression->value.sctp_extrcvinfo); free_expression(expression->value.sctp_extrcvinfo->sinfo_stream); free_expression(expression->value.sctp_extrcvinfo->sinfo_ssn); free_expression(expression->value.sctp_extrcvinfo->sinfo_flags); @@ -615,67 +679,90 @@ void free_expression(struct expression *expression) free_expression(expression->value.sctp_extrcvinfo->serinfo_next_length); free_expression(expression->value.sctp_extrcvinfo->serinfo_next_ppid); free_expression(expression->value.sctp_extrcvinfo->sinfo_assoc_id); + free(expression->value.sctp_extrcvinfo); break; case EXPR_SCTP_ASSOC_IDS: + assert(expression->value.sctp_assoc_ids); free_expression(expression->value.sctp_assoc_ids->gaids_number_of_ids); free_expression(expression->value.sctp_assoc_ids->gaids_assoc_id); + free(expression->value.sctp_assoc_ids); break; case EXPR_SCTP_AUTHCHUNKS: + assert(expression->value.sctp_authchunks); free_expression(expression->value.sctp_authchunks->gauth_assoc_id); free_expression(expression->value.sctp_authchunks->gauth_number_of_chunks); free_expression(expression->value.sctp_authchunks->gauth_chunks); + free(expression->value.sctp_authchunks); break; case EXPR_SCTP_SETPEERPRIM: + assert(expression->value.sctp_setpeerprim); free_expression(expression->value.sctp_setpeerprim->sspp_assoc_id); free_expression(expression->value.sctp_setpeerprim->sspp_addr); + free(expression->value.sctp_setpeerprim); break; case EXPR_SCTP_AUTHCHUNK: + assert(expression->value.sctp_authchunk); free_expression(expression->value.sctp_authchunk->sauth_chunk); + free(expression->value.sctp_authchunk); break; case EXPR_SCTP_AUTHKEY: + assert(expression->value.sctp_authkey); free_expression(expression->value.sctp_authkey->sca_assoc_id); free_expression(expression->value.sctp_authkey->sca_keynumber); free_expression(expression->value.sctp_authkey->sca_keylength); free_expression(expression->value.sctp_authkey->sca_key); + free(expression->value.sctp_authkey); break; case EXPR_SCTP_RESET_STREAMS: + assert(expression->value.sctp_reset_streams); free_expression(expression->value.sctp_reset_streams->srs_assoc_id); free_expression(expression->value.sctp_reset_streams->srs_flags); free_expression(expression->value.sctp_reset_streams->srs_number_streams); free_expression(expression->value.sctp_reset_streams->srs_stream_list); + free(expression->value.sctp_reset_streams); break; case EXPR_SCTP_ADD_STREAMS: + assert(expression->value.sctp_add_streams); free_expression(expression->value.sctp_add_streams->sas_assoc_id); free_expression(expression->value.sctp_add_streams->sas_instrms); free_expression(expression->value.sctp_add_streams->sas_outstrms); + free(expression->value.sctp_add_streams); break; case EXPR_SCTP_STREAM_RESET_EVENT: + assert(expression->value.sctp_stream_reset_event); free_expression(expression->value.sctp_stream_reset_event->strreset_type); free_expression(expression->value.sctp_stream_reset_event->strreset_flags); free_expression(expression->value.sctp_stream_reset_event->strreset_length); free_expression(expression->value.sctp_stream_reset_event->strreset_assoc_id); free_expression(expression->value.sctp_stream_reset_event->strreset_stream_list); + free(expression->value.sctp_stream_reset_event); break; case EXPR_SCTP_ASSOC_RESET_EVENT: + assert(expression->value.sctp_assoc_reset_event); free_expression(expression->value.sctp_assoc_reset_event->assocreset_type); free_expression(expression->value.sctp_assoc_reset_event->assocreset_flags); free_expression(expression->value.sctp_assoc_reset_event->assocreset_length); free_expression(expression->value.sctp_assoc_reset_event->assocreset_assoc_id); free_expression(expression->value.sctp_assoc_reset_event->assocreset_local_tsn); free_expression(expression->value.sctp_assoc_reset_event->assocreset_remote_tsn); + free(expression->value.sctp_assoc_reset_event); break; case EXPR_SCTP_STREAM_CHANGE_EVENT: + assert(expression->value.sctp_stream_change_event); free_expression(expression->value.sctp_stream_change_event->strchange_type); free_expression(expression->value.sctp_stream_change_event->strchange_flags); free_expression(expression->value.sctp_stream_change_event->strchange_length); free_expression(expression->value.sctp_stream_change_event->strchange_assoc_id); free_expression(expression->value.sctp_stream_change_event->strchange_instrms); free_expression(expression->value.sctp_stream_change_event->strchange_outstrms); + free(expression->value.sctp_stream_change_event); break; case EXPR_SCTP_UDPENCAPS: + assert(expression->value.sctp_udpencaps); free_expression(expression->value.sctp_udpencaps->sue_assoc_id); free_expression(expression->value.sctp_udpencaps->sue_address); free_expression(expression->value.sctp_udpencaps->sue_port); + free(expression->value.sctp_udpencaps); break; case EXPR_WORD: assert(expression->value.string); @@ -707,6 +794,7 @@ void free_expression(struct expression *expression) assert(expression->value.iovec); free_expression(expression->value.iovec->iov_base); free_expression(expression->value.iovec->iov_len); + free(expression->value.iovec); break; case EXPR_MSGHDR: assert(expression->value.msghdr); @@ -717,18 +805,22 @@ void free_expression(struct expression *expression) free_expression(expression->value.msghdr->msg_control); free_expression(expression->value.msghdr->msg_controllen); free_expression(expression->value.msghdr->msg_flags); + free(expression->value.msghdr); break; case EXPR_CMSGHDR: + assert(expression->value.cmsghdr); free_expression(expression->value.cmsghdr->cmsg_len); free_expression(expression->value.cmsghdr->cmsg_level); free_expression(expression->value.cmsghdr->cmsg_type); free_expression(expression->value.cmsghdr->cmsg_data); + free(expression->value.cmsghdr); break; case EXPR_POLLFD: assert(expression->value.pollfd); free_expression(expression->value.pollfd->fd); free_expression(expression->value.pollfd->events); free_expression(expression->value.pollfd->revents); + free(expression->value.pollfd); break; #if defined(__FreeBSD__) case EXPR_SF_HDTR: @@ -737,6 +829,7 @@ void free_expression(struct expression *expression) free_expression(expression->value.sf_hdtr->hdr_cnt); free_expression(expression->value.sf_hdtr->trailers); free_expression(expression->value.sf_hdtr->trl_cnt); + free(expression->value.sf_hdtr); break; #endif case EXPR_NONE: