[CP] fix pktc_resp_cb_on_terminate stack-buffer-overflow
This commit is contained in:
2
deps/oblib/src/rpc/pnio/nio/pktc_post.h
vendored
2
deps/oblib/src/rpc/pnio/nio/pktc_post.h
vendored
@ -127,7 +127,7 @@ static int pktc_handle_req_queue(pktc_t* io) {
|
||||
if (PN_CMD_TERMINATE_PKT == cmd_req->cmd) {
|
||||
// make rpc callback executed in advance
|
||||
rk_info("hand cmd req, cmd=%ld, arg=%ld", cmd_req->cmd, cmd_req->arg);
|
||||
pktc_resp_cb_on_terminate(io, (uint32_t)cmd_req->arg);
|
||||
pktc_resp_cb_on_terminate(io, cmd_req->arg);
|
||||
}
|
||||
cfifo_free(cmd_req);
|
||||
} else {
|
||||
|
4
deps/oblib/src/rpc/pnio/nio/pktc_resp.h
vendored
4
deps/oblib/src/rpc/pnio/nio/pktc_resp.h
vendored
@ -71,7 +71,7 @@ static void pktc_resp_cb_on_msg(pktc_t* io, pktc_msg_t* msg) {
|
||||
}
|
||||
}
|
||||
|
||||
static void pktc_resp_cb_on_terminate(pktc_t* io, uint32_t id) {
|
||||
static void pktc_resp_cb_on_terminate(pktc_t* io, uint64_t id) {
|
||||
link_t* hlink = ihash_del(&io->cb_map, &id);
|
||||
if (hlink) {
|
||||
pktc_cb_t* cb = structof(hlink, pktc_cb_t, hash_link);
|
||||
@ -80,7 +80,7 @@ static void pktc_resp_cb_on_terminate(pktc_t* io, uint32_t id) {
|
||||
cb->errcode = PNIO_PKT_TERMINATE;
|
||||
pktc_do_cb_exception(io, cb);
|
||||
} else {
|
||||
rk_info("resp cb not found: packet_id=%u", id);
|
||||
rk_info("resp cb not found: packet_id=%lu", id);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user