[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #23254] c library define are wrong
From: |
Artem Migaev |
Subject: |
[lwip-devel] [bug #23254] c library define are wrong |
Date: |
Wed, 14 May 2008 18:51:15 +0000 |
User-agent: |
Opera/9.27 (Windows NT 5.1; U; en) |
URL:
<http://savannah.nongnu.org/bugs/?23254>
Summary: c library define are wrong
Project: lwIP - A Lightweight TCP/IP stack
Submitted by: klogg
Submitted on: Wednesday 05/14/2008 at 18:51
Category: None
Severity: 3 - Normal
Item Group: Faulty Behaviour
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Planned Release:
_______________________________________________________
Details:
Under #if MEM_LIBC_MALLOC in mem.h we have following section:
#ifndef mem_free
#define mem_free(x) free(x)
#endif
#ifndef mem_malloc
#define mem_malloc(x) malloc(x)
#endif
#ifndef mem_calloc
#define mem_calloc(x, y) calloc(x, y)
#endif
#ifndef mem_realloc
#define mem_realloc(x, size) (x)
#endif
But this is completely wrong (especilly mem_realloc :), correct definition
is:
#ifndef mem_free
#define mem_free free
#endif
#ifndef mem_malloc
#define mem_malloc malloc
#endif
#ifndef mem_calloc
#define mem_calloc calloc
#endif
#ifndef mem_realloc
#define mem_realloc realloc
#endif
In this case programmer can pass pointer to the macrodefined function, like
we have in tcpip.c:
err_t
mem_free_callback(void *m)
{
return tcpip_callback_with_block(mem_free, m, 0);
}
Please, fix.
Thanks in advance, klogg
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?23254>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
- [lwip-devel] [bug #23254] c library define are wrong,
Artem Migaev <=