diff --git a/src/core/message.c b/src/core/message.c index 2f5e7e10..d7e80dee 100644 --- a/src/core/message.c +++ b/src/core/message.c @@ -697,6 +697,10 @@ nni_msg_get_pub_pid(nni_msg *m) pos = nni_msg_body(m); NNI_GET16(pos, len); - NNI_GET16(pos + len + 2, pid); - return pid; + if (len > nni_msg_remaining_len(m) - 2) + return 0; + else { + NNI_GET16(pos + len + 2, pid); + return pid; + } } \ No newline at end of file