mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-10-02 12:52:10 +00:00
Fixed bug #27079 (Yet another leak in PPP): outpacket_buf can be statically allocated (like in ucip)
This commit is contained in:
parent
1b42286bda
commit
b1ad36eece
@ -46,6 +46,10 @@ HISTORY
|
|||||||
|
|
||||||
++ Bugfixes:
|
++ Bugfixes:
|
||||||
|
|
||||||
|
2009-12-06: Simon Goldschmidt
|
||||||
|
* ppp.h/.c: Fixed bug #27079 (Yet another leak in PPP): outpacket_buf can
|
||||||
|
be statically allocated (like in ucip)
|
||||||
|
|
||||||
2009-12-04: Simon Goldschmidt (patch by Ioardan Neshev)
|
2009-12-04: Simon Goldschmidt (patch by Ioardan Neshev)
|
||||||
* pap.c: patch #6969: PPP: missing PAP authentication UNTIMEOUT
|
* pap.c: patch #6969: PPP: missing PAP authentication UNTIMEOUT
|
||||||
|
|
||||||
|
@ -235,7 +235,7 @@ struct protent *ppp_protocols[] = {
|
|||||||
* Buffers for outgoing packets. This must be accessed only from the appropriate
|
* Buffers for outgoing packets. This must be accessed only from the appropriate
|
||||||
* PPP task so that it doesn't need to be protected to avoid collisions.
|
* PPP task so that it doesn't need to be protected to avoid collisions.
|
||||||
*/
|
*/
|
||||||
u_char *outpacket_buf[NUM_PPP];
|
u_char outpacket_buf[NUM_PPP][PPP_MRU+PPP_HDRLEN];
|
||||||
|
|
||||||
|
|
||||||
/*****************************/
|
/*****************************/
|
||||||
@ -379,7 +379,7 @@ pppHupCB(void *arg)
|
|||||||
|
|
||||||
struct ppp_settings ppp_settings;
|
struct ppp_settings ppp_settings;
|
||||||
|
|
||||||
err_t
|
void
|
||||||
pppInit(void)
|
pppInit(void)
|
||||||
{
|
{
|
||||||
struct protent *protp;
|
struct protent *protp;
|
||||||
@ -396,15 +396,6 @@ pppInit(void)
|
|||||||
for (i = 0; i < NUM_PPP; i++) {
|
for (i = 0; i < NUM_PPP; i++) {
|
||||||
pppControl[i].openFlag = 0;
|
pppControl[i].openFlag = 0;
|
||||||
|
|
||||||
outpacket_buf[i] = (u_char *)mem_malloc(PPP_MRU+PPP_HDRLEN);
|
|
||||||
if (!outpacket_buf[i]) {
|
|
||||||
for (j = 0; j < i; j++) {
|
|
||||||
/* deallocate all preceding buffers */
|
|
||||||
mem_free(outpacket_buf[j]);
|
|
||||||
}
|
|
||||||
return ERR_MEM;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialize to the standard option set.
|
* Initialize to the standard option set.
|
||||||
*/
|
*/
|
||||||
@ -416,8 +407,6 @@ pppInit(void)
|
|||||||
#if PPPOE_SUPPORT
|
#if PPPOE_SUPPORT
|
||||||
pppoe_init();
|
pppoe_init();
|
||||||
#endif /* PPPOE_SUPPORT */
|
#endif /* PPPOE_SUPPORT */
|
||||||
|
|
||||||
return ERR_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -333,7 +333,7 @@ struct ppp_addrs {
|
|||||||
*****************************/
|
*****************************/
|
||||||
|
|
||||||
/* Buffers for outgoing packets. */
|
/* Buffers for outgoing packets. */
|
||||||
extern u_char *outpacket_buf[NUM_PPP];
|
extern u_char outpacket_buf[NUM_PPP][PPP_MRU+PPP_HDRLEN];
|
||||||
|
|
||||||
extern struct ppp_settings ppp_settings;
|
extern struct ppp_settings ppp_settings;
|
||||||
|
|
||||||
@ -345,7 +345,7 @@ extern struct protent *ppp_protocols[]; /* Table of pointers to supported protoc
|
|||||||
***********************/
|
***********************/
|
||||||
|
|
||||||
/* Initialize the PPP subsystem. */
|
/* Initialize the PPP subsystem. */
|
||||||
err_t pppInit(void);
|
void pppInit(void);
|
||||||
|
|
||||||
/* Warning: Using PPPAUTHTYPE_ANY might have security consequences.
|
/* Warning: Using PPPAUTHTYPE_ANY might have security consequences.
|
||||||
* RFC 1994 says:
|
* RFC 1994 says:
|
||||||
|
Loading…
Reference in New Issue
Block a user