diff --git a/openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c b/openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c index 4cb0eb9dcd47ffa72775c0fa441bea069202f36c..e9def841d0ec0e4532cf3daa620291ec75854029 100644 --- a/openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c +++ b/openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c @@ -213,7 +213,10 @@ nwGtpv1uCreateAndSendMsg( NwGtpv1uStackT *thiz, NwU32T peerIp, NwU16T peerPort, *((NwU32T *) msgHdr) = htonl(pMsg->teid); msgHdr += 4; - GTPU_DEBUG("nwGtpv1uCreateAndSendMsg to teid %u length %d\n", pMsg->teid, pMsg->msgLen); + GTPU_DEBUG("nwGtpv1uCreateAndSendMsg to teid %u length %d offset %d\n", + pMsg->teid, + pMsg->msgLen, + pMsg->msgBufOffset); if(pMsg->seqNumFlag || pMsg->extHdrFlag || pMsg->npduNumFlag) { *((NwU16T *) msgHdr) = (pMsg->seqNumFlag ? htons(pMsg->seqNum) : 0x0000); diff --git a/openair-cn/UDP/udp_eNB_task.c b/openair-cn/UDP/udp_eNB_task.c index 0bef5cdf7e799da663cfd17c7663073aaa6fbf70..bf39a87ec04c6bdd7c0ddb54e44e99e953189e73 100644 --- a/openair-cn/UDP/udp_eNB_task.c +++ b/openair-cn/UDP/udp_eNB_task.c @@ -334,7 +334,7 @@ void *udp_eNB_task(void *args_p) ITTI_MSG_ORIGIN_ID(received_message_p)); pthread_mutex_unlock(&udp_socket_list_mutex); if (udp_data_req_p->buffer) { - free(udp_data_req_p->buffer); + itti_free(ITTI_MSG_ORIGIN_ID(received_message_p), udp_data_req_p->buffer); } goto on_error; } @@ -349,12 +349,14 @@ void *udp_eNB_task(void *args_p) bytes_written = sendto( udp_sd, - udp_data_req_p->buffer, + &udp_data_req_p->buffer[udp_data_req_p->buffer_offset], udp_data_req_p->buffer_length, 0, (struct sockaddr *)&peer_addr, sizeof(struct sockaddr_in)); + itti_free(ITTI_MSG_ORIGIN_ID(received_message_p), udp_data_req_p->buffer); + if (bytes_written != udp_data_req_p->buffer_length) { LOG_E(UDP_, "There was an error while writing to socket " "(%d:%s)\n", errno, strerror(errno));