From 8906441004395769e0449052cf2857af1ff4b958 Mon Sep 17 00:00:00 2001 From: adamdunkels Date: Sun, 24 Feb 2008 20:59:51 +0000 Subject: [PATCH] Changed all sprintf() calls to snprintf() to make it useful for systems with very low buffer size --- apps/webserver/httpd-cgi.c | 48 +++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/apps/webserver/httpd-cgi.c b/apps/webserver/httpd-cgi.c index 8aa67b28d..3d0fce4d6 100644 --- a/apps/webserver/httpd-cgi.c +++ b/apps/webserver/httpd-cgi.c @@ -1,18 +1,18 @@ /* * Copyright (c) 2001, Adam Dunkels. - * All rights reserved. + * All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote * products derived from this software without specific prior - * written permission. + * written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED @@ -24,11 +24,11 @@ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * This file is part of the uIP TCP/IP stack. * - * $Id: httpd-cgi.c,v 1.11 2008/02/17 13:59:22 oliverschmidt Exp $ + * $Id: httpd-cgi.c,v 1.12 2008/02/24 20:59:51 adamdunkels Exp $ * */ @@ -57,28 +57,28 @@ static struct httpd_cgi_call *calls = NULL; static const char closed[] = /* "CLOSED",*/ {0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0}; static const char syn_rcvd[] = /* "SYN-RCVD",*/ -{0x53, 0x59, 0x4e, 0x2d, 0x52, 0x43, 0x56, +{0x53, 0x59, 0x4e, 0x2d, 0x52, 0x43, 0x56, 0x44, 0}; static const char syn_sent[] = /* "SYN-SENT",*/ -{0x53, 0x59, 0x4e, 0x2d, 0x53, 0x45, 0x4e, +{0x53, 0x59, 0x4e, 0x2d, 0x53, 0x45, 0x4e, 0x54, 0}; static const char established[] = /* "ESTABLISHED",*/ {0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0}; static const char fin_wait_1[] = /* "FIN-WAIT-1",*/ -{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49, +{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49, 0x54, 0x2d, 0x31, 0}; static const char fin_wait_2[] = /* "FIN-WAIT-2",*/ -{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49, +{0x46, 0x49, 0x4e, 0x2d, 0x57, 0x41, 0x49, 0x54, 0x2d, 0x32, 0}; static const char closing[] = /* "CLOSING",*/ -{0x43, 0x4c, 0x4f, 0x53, 0x49, +{0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0}; static const char time_wait[] = /* "TIME-WAIT,"*/ -{0x54, 0x49, 0x4d, 0x45, 0x2d, 0x57, 0x41, +{0x54, 0x49, 0x4d, 0x45, 0x2d, 0x57, 0x41, 0x49, 0x54, 0}; static const char last_ack[] = /* "LAST-ACK"*/ -{0x4c, 0x41, 0x53, 0x54, 0x2d, 0x41, 0x43, +{0x4c, 0x41, 0x53, 0x54, 0x2d, 0x41, 0x43, 0x4b, 0}; static const char none[] = /* "NONE"*/ {0x4e, 0x4f, 0x4e, 0x45, 0}; @@ -116,7 +116,7 @@ static const char *states[] = { static PT_THREAD(nullfunction(struct httpd_state *s, char *ptr)) { - PSOCK_BEGIN(&s->sout); + PSOCK_BEGIN(&s->sout); PSOCK_END(&s->sout); } /*---------------------------------------------------------------------------*/ @@ -138,7 +138,7 @@ static unsigned short generate_file_stats(void *arg) { char *f = (char *)arg; - return sprintf((char *)uip_appdata, "%5u", httpd_fs_count(f)); + return snprintf((char *)uip_appdata, uip_mss(), "%5u", httpd_fs_count(f)); } /*---------------------------------------------------------------------------*/ static @@ -158,7 +158,7 @@ make_tcp_stats(void *arg) struct httpd_state *s = (struct httpd_state *)arg; conn = &uip_conns[s->u.count]; - return sprintf((char *)uip_appdata, + return snprintf((char *)uip_appdata, uip_mss(), "%d%u.%u.%u.%u:%u%s%u%u%c %c\r\n", htons(conn->lport), conn->ripaddr.u8[0], @@ -179,7 +179,7 @@ PT_THREAD(tcp_stats(struct httpd_state *s, char *ptr)) PSOCK_BEGIN(&s->sout); - for(s->u.count = 0; s->u.count < UIP_CONNS; ++s->u.count) { + for(s->u.count = 0; s->u.count < UIP_CONNS; ++s->u.count) { if((uip_conns[s->u.count].tcpstateflags & UIP_TS_MASK) != UIP_CLOSED) { PSOCK_GENERATOR_SEND(&s->sout, make_tcp_stats, s); } @@ -196,7 +196,7 @@ make_processes(void *p) strncpy(name, ((struct process *)p)->name, 40); petsciiconv_toascii(name, 40); - return sprintf((char *)uip_appdata, + return snprintf((char *)uip_appdata, uip_mss(), "%p%s%p%s\r\n", p, name, *((char **)&(((struct process *)p)->thread)),