diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/osmo_client_network.c | 4 | ||||
-rw-r--r-- | src/osmo_server_network.c | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/osmo_client_network.c b/src/osmo_client_network.c index 60f3216..281e8eb 100644 --- a/src/osmo_client_network.c +++ b/src/osmo_client_network.c @@ -119,7 +119,7 @@ void osmo_client_send_data(struct osmo_pcap_client *client, msg->l3h = msgb_put(msg, in_hdr->caplen); memcpy(msg->l3h, data, in_hdr->caplen); - om_hdr->len = msgb_l2len(msg); + om_hdr->len = htons(msgb_l2len(msg)); write_data(client, msg); } @@ -138,7 +138,7 @@ void osmo_client_send_link(struct osmo_pcap_client *client) om_hdr = (struct osmo_pcap_data *) msgb_put(msg, sizeof(*om_hdr)); om_hdr->type = PKT_LINK_HDR; - om_hdr->len = sizeof(*hdr); + om_hdr->len = htons(sizeof(*hdr)); hdr = (struct pcap_file_header *) msgb_put(msg, sizeof(*hdr)); hdr->magic = 0xa1b2c3d4; diff --git a/src/osmo_server_network.c b/src/osmo_server_network.c index 5b00710..d1948a8 100644 --- a/src/osmo_server_network.c +++ b/src/osmo_server_network.c @@ -188,6 +188,7 @@ static int read_cb(struct osmo_fd *fd, unsigned int what) return -1; } + data->len = ntohs(data->len); if (data->len > 2000) { LOGP(DSERVER, LOGL_ERROR, "Unplausible result %u\n", data->len); close_connection(conn); |