Avoid memory block leaks (and minor code style adjustment).
This commit is contained in:
parent
b07b46dd79
commit
632240da25
|
@ -30,7 +30,7 @@
|
||||||
*
|
*
|
||||||
* Author: Adam Dunkels <adam@sics.se>
|
* Author: Adam Dunkels <adam@sics.se>
|
||||||
*
|
*
|
||||||
* $Id: httpd-cfs.c,v 1.6 2007/11/26 21:50:46 oliverschmidt Exp $
|
* $Id: httpd-cfs.c,v 1.7 2007/11/27 23:36:07 oliverschmidt Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
@ -119,6 +119,7 @@ PT_THREAD(handle_output(struct httpd_state *s))
|
||||||
s->fd = cfs_open("404.html", CFS_READ);
|
s->fd = cfs_open("404.html", CFS_READ);
|
||||||
if(s->fd < 0) {
|
if(s->fd < 0) {
|
||||||
uip_abort();
|
uip_abort();
|
||||||
|
memb_free(&conns, s);
|
||||||
webserver_log_file(&uip_conn->ripaddr, "reset (no 404.html)");
|
webserver_log_file(&uip_conn->ripaddr, "reset (no 404.html)");
|
||||||
PT_EXIT(&s->outputpt);
|
PT_EXIT(&s->outputpt);
|
||||||
}
|
}
|
||||||
|
@ -151,7 +152,7 @@ PT_THREAD(handle_input(struct httpd_state *s))
|
||||||
}
|
}
|
||||||
|
|
||||||
if(s->inputbuf[1] == ISO_space) {
|
if(s->inputbuf[1] == ISO_space) {
|
||||||
strncpy(s->filename, http_index_html+1, sizeof(s->filename));
|
strncpy(s->filename, &http_index_html[1], sizeof(s->filename));
|
||||||
} else {
|
} else {
|
||||||
s->inputbuf[PSOCK_DATALEN(&s->sin) - 1] = 0;
|
s->inputbuf[PSOCK_DATALEN(&s->sin) - 1] = 0;
|
||||||
strncpy(s->filename, &s->inputbuf[1], sizeof(s->filename));
|
strncpy(s->filename, &s->inputbuf[1], sizeof(s->filename));
|
||||||
|
@ -209,6 +210,7 @@ httpd_appcall(void *state)
|
||||||
if(uip_poll()) {
|
if(uip_poll()) {
|
||||||
if(timer_expired(&s->timer)) {
|
if(timer_expired(&s->timer)) {
|
||||||
uip_abort();
|
uip_abort();
|
||||||
|
memb_free(&conns, s);
|
||||||
webserver_log_file(&uip_conn->ripaddr, "reset (timeout)");
|
webserver_log_file(&uip_conn->ripaddr, "reset (timeout)");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue