TP_code_pre(
sc_in(
memset(tp_locvar, 0, sizeof(*tp_locvar));
- if (addrlen < sizeof(struct sockaddr))
+ if (addrlen < sizeof(tp_locvar->sa_family))
goto skip_code;
(void) get_user(tp_locvar->sa_family, &uservaddr->sa_family);
switch (tp_locvar->sa_family) {
sc_in(ctf_integer(int, fd, fd))
sc_in(ctf_integer_hex(struct sockaddr *, uservaddr, uservaddr))
sc_in(ctf_integer_hex(int, addrlen, addrlen))
- sc_in(ctf_integer(int, family, tp_locvar->sa_family))
+ sc_in(ctf_integer(unsigned short, family, tp_locvar->sa_family))
sc_in(ctf_integer_network(uint16_t, dport, tp_locvar->dport))
sc_in(ctf_sequence_network(uint8_t, v4addr, &tp_locvar->v4addr, unsigned int, tp_locvar->v4addr_len))
sc_in(ctf_sequence_network(uint16_t, v6addr, &tp_locvar->v6addr, unsigned int, tp_locvar->v6addr_len))
(void) get_user(tp_locvar->uaddr_len, upeer_addrlen); \
) \
sc_out( \
- if (tp_locvar->uaddr_len < sizeof(struct sockaddr)) \
+ if (tp_locvar->uaddr_len < sizeof(tp_locvar->sa_family)) \
goto skip_code; \
(void) get_user(tp_locvar->sa_family, &upeer_sockaddr->sa_family); \
switch (tp_locvar->sa_family) { \
sc_in(ctf_integer(int, fd, fd))
sc_in(ctf_integer_hex(struct sockaddr *, upeer_sockaddr, upeer_sockaddr))
sc_inout(ctf_integer(int, upeer_addrlen, tp_locvar->uaddr_len))
- sc_out(ctf_integer(int, family, tp_locvar->sa_family))
+ sc_out(ctf_integer(unsigned short, family, tp_locvar->sa_family))
sc_out(ctf_integer_network(uint16_t, sport, tp_locvar->sport))
sc_out(ctf_sequence_network(uint8_t, v4addr, &tp_locvar->v4addr, unsigned int, tp_locvar->v4addr_len))
sc_out(ctf_sequence_network(uint16_t, v6addr, &tp_locvar->v6addr, unsigned int, tp_locvar->v6addr_len))
sc_in(ctf_integer_hex(struct sockaddr *, upeer_sockaddr, upeer_sockaddr))
sc_inout(ctf_integer(int, upeer_addrlen, tp_locvar->uaddr_len))
sc_in(ctf_integer_hex(int, flags, flags))
- sc_out(ctf_integer(int, family, tp_locvar->sa_family))
+ sc_out(ctf_integer(unsigned short, family, tp_locvar->sa_family))
sc_out(ctf_integer_network(uint16_t, sport, tp_locvar->sport))
sc_out(ctf_sequence_network(uint8_t, v4addr, &tp_locvar->v4addr, unsigned int, tp_locvar->v4addr_len))
sc_out(ctf_sequence_network(uint16_t, v6addr, &tp_locvar->v6addr, unsigned int, tp_locvar->v6addr_len))