提交 8cae5c14 编写于 作者: M mbbill@gmail.com

fix mailbox offset overflow

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1486 bbd45198-f89e-11dd-88c7-29a3b14d5316
上级 3077aea6
...@@ -1278,7 +1278,7 @@ rt_mailbox_t rt_mb_create (const char* name, rt_size_t size, rt_uint8_t flag) ...@@ -1278,7 +1278,7 @@ rt_mailbox_t rt_mb_create (const char* name, rt_size_t size, rt_uint8_t flag)
* @return the error code * @return the error code
*/ */
rt_err_t rt_mb_delete (rt_mailbox_t mb) rt_err_t rt_mb_delete (rt_mailbox_t mb)
{ {
/* parameter check */ /* parameter check */
RT_ASSERT(mb != RT_NULL); RT_ASSERT(mb != RT_NULL);
...@@ -1398,7 +1398,7 @@ rt_err_t rt_mb_send_wait (rt_mailbox_t mb, rt_uint32_t value, rt_int32_t timeout ...@@ -1398,7 +1398,7 @@ rt_err_t rt_mb_send_wait (rt_mailbox_t mb, rt_uint32_t value, rt_int32_t timeout
mb->msg_pool[mb->in_offset] = value; mb->msg_pool[mb->in_offset] = value;
/* increase input offset */ /* increase input offset */
++ mb->in_offset; ++ mb->in_offset;
if (mb->in_offset > mb->size) mb->in_offset = 0; if (mb->in_offset >= mb->size) mb->in_offset = 0;
/* increase message entry */ /* increase message entry */
mb->entry ++; mb->entry ++;
...@@ -1529,7 +1529,7 @@ rt_err_t rt_mb_recv (rt_mailbox_t mb, rt_uint32_t* value, rt_int32_t timeout) ...@@ -1529,7 +1529,7 @@ rt_err_t rt_mb_recv (rt_mailbox_t mb, rt_uint32_t* value, rt_int32_t timeout)
/* increase output offset */ /* increase output offset */
++mb->out_offset; ++mb->out_offset;
if (mb->out_offset > mb->size) mb->out_offset = 0; if (mb->out_offset >= mb->size) mb->out_offset = 0;
/* decrease message entry */ /* decrease message entry */
mb->entry --; mb->entry --;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册