]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netinet/flow_divert.c
xnu-4903.231.4.tar.gz
[apple/xnu.git] / bsd / netinet / flow_divert.c
index b73a8617273fc4f0435c661be102de1d8282f549..b6d668440758a0bc7f7d0eb10b938b71704bffa4 100644 (file)
@@ -1186,7 +1186,7 @@ flow_divert_create_connect_packet(struct flow_divert_pcb *fd_cb, struct sockaddr
        if (fd_cb->local_address != NULL) {
                /* socket is bound. */
                error = flow_divert_packet_append_tlv(connect_packet, FLOW_DIVERT_TLV_LOCAL_ADDR,
-                                                     sizeof(struct sockaddr_storage), fd_cb->local_address);
+                                                     fd_cb->local_address->sa_len, fd_cb->local_address);
                if (error) {
                        goto done;
                }
@@ -2017,10 +2017,6 @@ flow_divert_handle_data(struct flow_divert_pcb *fd_cb, mbuf_t packet, size_t off
                        }
                }
                socket_unlock(fd_cb->so, 0);
-
-               if (data != NULL) {
-                       mbuf_freem(data);
-               }
        }
        FDUNLOCK(fd_cb);
 }