diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-08-11 17:51:09 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-08-11 17:51:09 -0700 |
| commit | 2a11fd60767335660dc506237a9302dcbc5da91e (patch) | |
| tree | 26764a53580eaad429cae329233702881605edaa | |
| parent | d19ead5937cdac141ec1b28d94dcaa92c8ebdfd7 (diff) | |
| download | nng-2a11fd60767335660dc506237a9302dcbc5da91e.tar.gz nng-2a11fd60767335660dc506237a9302dcbc5da91e.tar.bz2 nng-2a11fd60767335660dc506237a9302dcbc5da91e.zip | |
Fence post error in queue drain, close or fini.
| -rw-r--r-- | src/core/msgqueue.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/msgqueue.c b/src/core/msgqueue.c index 3972e07a..8d0c3dbc 100644 --- a/src/core/msgqueue.c +++ b/src/core/msgqueue.c @@ -106,7 +106,7 @@ nni_msgq_fini(nni_msgq *mq) while (mq->mq_len > 0) { msg = mq->mq_msgs[mq->mq_get]; mq->mq_get++; - if (mq->mq_get > mq->mq_alloc) { + if (mq->mq_get >= mq->mq_alloc) { mq->mq_get = 0; } mq->mq_len--; @@ -471,7 +471,7 @@ nni_msgq_drain(nni_msgq *mq, nni_time expire) // Free any remaining messages in the queue. while (mq->mq_len > 0) { nni_msg *msg = mq->mq_msgs[mq->mq_get++]; - if (mq->mq_get > mq->mq_alloc) { + if (mq->mq_get >= mq->mq_alloc) { mq->mq_get = 0; } mq->mq_len--; @@ -492,7 +492,7 @@ nni_msgq_close(nni_msgq *mq) // Free the messages orphaned in the queue. while (mq->mq_len > 0) { nni_msg *msg = mq->mq_msgs[mq->mq_get++]; - if (mq->mq_get > mq->mq_alloc) { + if (mq->mq_get >= mq->mq_alloc) { mq->mq_get = 0; } mq->mq_len--; |
