diff --git a/gtests/net/packetdrill/run_system_call.c b/gtests/net/packetdrill/run_system_call.c index 753cb60aa81d5f13353070753875932f9af8d304..2d888120cd8ff9d4885b4c91d8f52d3de28802ba 100644 --- a/gtests/net/packetdrill/run_system_call.c +++ b/gtests/net/packetdrill/run_system_call.c @@ -5449,7 +5449,10 @@ static int syscall_sctp_sendx(struct state *state, struct syscall_spec *syscall, addrs_expr->type == EXPR_SOCKET_ADDRESS_IPV6 || addrs_expr->type == EXPR_ELLIPSIS) { addrs = malloc(sizeof(struct sockaddr_storage)); - get_sockstorage_arg(addrs_expr, (struct sockaddr_storage *)addrs, live_fd); + if (get_sockstorage_arg(addrs_expr, (struct sockaddr_storage *)addrs, live_fd)) { + asprintf(error, "can't determine addrs"); + goto error_out; + } } else if (addrs_expr->type == EXPR_LIST) { size_t size; if (get_sockaddr_from_list(addrs_expr, &size, &addrs, error)) { @@ -5540,7 +5543,10 @@ static int syscall_sctp_sendv(struct state *state, struct syscall_spec *syscall, addrs_expr->type == EXPR_SOCKET_ADDRESS_IPV6 || addrs_expr->type == EXPR_ELLIPSIS) { addrs = malloc(sizeof(struct sockaddr_storage)); - get_sockstorage_arg(addrs_expr, (struct sockaddr_storage *)addrs, live_fd); + if (get_sockstorage_arg(addrs_expr, (struct sockaddr_storage *)addrs, live_fd)) { + asprintf(error, "can't determine addrs"); + goto error_out; + } } else if (addrs_expr->type == EXPR_LIST) { size_t size; if (get_sockaddr_from_list(addrs_expr, &size, &addrs, error)) {