forked from acouzens/open5gs
[Security] Fixed a crash for port scanning (#1767)
This commit is contained in:
parent
1acb7f72b4
commit
71a1516b03
|
@ -759,7 +759,15 @@ static ogs_tlv_t *ogs_tlv_parse_block_desc(uint32_t length, void *data, uint8_t
|
|||
ogs_assert(pos);
|
||||
}
|
||||
|
||||
ogs_assert(length == (pos - blk));
|
||||
if (length != (pos - blk)) {
|
||||
ogs_error("ogs_tlv_parse_block() failed[LEN:%d,MODE:%d]",
|
||||
length, msg_mode);
|
||||
ogs_error("POS[%p] BLK[%p] POS-BLK[%d]", pos, blk, (int)(pos - blk));
|
||||
ogs_log_hexdump(OGS_LOG_FATAL, data, length);
|
||||
|
||||
ogs_tlv_free_all(root);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return root;
|
||||
}
|
||||
|
|
|
@ -462,9 +462,12 @@ ogs_tlv_t *ogs_tlv_parse_block(uint32_t length, void *data, uint8_t mode)
|
|||
}
|
||||
|
||||
if (length != (pos - blk)) {
|
||||
ogs_fatal("ogs_tlv_parse_block() failed[LEN:%d,MODE:%d]", length, mode);
|
||||
ogs_error("ogs_tlv_parse_block() failed[LEN:%d,MODE:%d]", length, mode);
|
||||
ogs_error("POS[%p] BLK[%p] POS-BLK[%d]", pos, blk, (int)(pos - blk));
|
||||
ogs_log_hexdump(OGS_LOG_FATAL, data, length);
|
||||
ogs_assert_if_reached();
|
||||
|
||||
ogs_tlv_free_all(root);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return root;
|
||||
|
|
|
@ -80,7 +80,7 @@ static void pfcp_recv_cb(short when, ogs_socket_t fd, void *data)
|
|||
ogs_pkbuf_trim(pkbuf, size);
|
||||
|
||||
h = (ogs_pfcp_header_t *)pkbuf->data;
|
||||
if (h->version > OGS_PFCP_VERSION) {
|
||||
if (h->version != OGS_PFCP_VERSION) {
|
||||
ogs_pfcp_header_t rsp;
|
||||
|
||||
ogs_error("Not supported version[%d]", h->version);
|
||||
|
|
|
@ -80,7 +80,7 @@ static void pfcp_recv_cb(short when, ogs_socket_t fd, void *data)
|
|||
ogs_pkbuf_trim(pkbuf, size);
|
||||
|
||||
h = (ogs_pfcp_header_t *)pkbuf->data;
|
||||
if (h->version > OGS_PFCP_VERSION) {
|
||||
if (h->version != OGS_PFCP_VERSION) {
|
||||
ogs_pfcp_header_t rsp;
|
||||
|
||||
ogs_error("Not supported version[%d]", h->version);
|
||||
|
|
|
@ -120,7 +120,7 @@ static void pfcp_recv_cb(short when, ogs_socket_t fd, void *data)
|
|||
ogs_pkbuf_trim(pkbuf, size);
|
||||
|
||||
h = (ogs_pfcp_header_t *)pkbuf->data;
|
||||
if (h->version > OGS_PFCP_VERSION) {
|
||||
if (h->version != OGS_PFCP_VERSION) {
|
||||
ogs_pfcp_header_t rsp;
|
||||
|
||||
ogs_error("Not supported version[%d]", h->version);
|
||||
|
|
|
@ -83,7 +83,7 @@ static void pfcp_recv_cb(short when, ogs_socket_t fd, void *data)
|
|||
ogs_pkbuf_trim(pkbuf, size);
|
||||
|
||||
h = (ogs_pfcp_header_t *)pkbuf->data;
|
||||
if (h->version > OGS_PFCP_VERSION) {
|
||||
if (h->version != OGS_PFCP_VERSION) {
|
||||
ogs_pfcp_header_t rsp;
|
||||
|
||||
ogs_error("Not supported version[%d]", h->version);
|
||||
|
|
Loading…
Reference in New Issue