lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [patch #9294] memp: Fix memp_overflow_check_element_underfl


From: Axel Lin
Subject: [lwip-devel] [patch #9294] memp: Fix memp_overflow_check_element_underflow/overflow assertion
Date: Thu, 23 Mar 2017 06:50:05 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36

Follow-up Comment #2, patch #9294 (project lwip):

My device is stm32f412rg running with FreeRTOS.
I don't override LWIP_ALIGNMENT_CAST/LWIP_CONST_CAST.

I add below change to show you the values:

diff --git a/src/core/memp.c b/src/core/memp.c
index c715273..5e86486 100644
--- a/src/core/memp.c
+++ b/src/core/memp.c
@@ -205,6 +205,7 @@ memp_overflow_check_all(void)
 {
   u16_t i, j;
   struct memp *p;
+  struct memp *p1;
   SYS_ARCH_DECL_PROTECT(old_level);
   SYS_ARCH_PROTECT(old_level);

@@ -214,6 +215,11 @@ memp_overflow_check_all(void)
       memp_overflow_check_element_overflow(p, memp_pools[i]);
       memp_overflow_check_element_underflow(p, memp_pools[i]);
       p = LWIP_ALIGNMENT_CAST(struct memp*, ((u8_t*)p + MEMP_SIZE +
memp_pools[i]->size + MEMP_SANITY_REGION_AFTER_ALIGNED));
+      p1 = LWIP_ALIGNMENT_CAST(struct memp*, (size_t)((u8_t*)p + MEMP_SIZE +
memp_pools[i]->size + MEMP_SANITY_REGION_AFTER_ALIGNED));
+      if (p != p1) {
+       LWIP_PLATFORM_DIAG(("p=%p p1=%p MEMP_SIZE=%u
MEMP_SANITY_REGION_AFTER_ALIGNED=%u memp_pools[i]->size=%u\n",
+                           p, p1, MEMP_SIZE,
MEMP_SANITY_REGION_AFTER_ALIGNED, memp_pools[i]->size));
+      }
     }
   }
   SYS_ARCH_UNPROTECT(old_level);


p=0x20002d14 p1=0x20002d5c MEMP_SIZE=28 MEMP_SANITY_REGION_AFTER_ALIGNED=16
memp_pools[i]->size=28


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/patch/?9294>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]