From 15edad07bb9c43895df23be34a49fbd96efa45fa Mon Sep 17 00:00:00 2001 From: Anselm R Garbe Date: Sat, 15 Aug 2009 22:59:41 +0100 Subject: [PATCH] sanity check --- quark.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/quark.c b/quark.c index 51a3dbf..28f5dc7 100644 --- a/quark.c +++ b/quark.c @@ -279,22 +279,21 @@ request(void) { for(p = reqbuf; p < reqbuf + MAXREQLEN && *p != '\r' && *p != '\n'; p++); if(*p == '\r' || *p == '\n') { *p = 0; - /* parse command */ - if(strncmp(reqbuf, "GET ", 4)) { - fprintf(stderr, "%s: %s performs unsupported request %s\n", tstamp(), name, reqbuf); - return -1; - } - if(reqbuf[4] != '/') { - fprintf(stderr, "%s: %s performs invalid request %s\n", tstamp(), name, reqbuf); - return -1; - } + /* check command */ + if(strncmp(reqbuf, "GET ", 4) || reqbuf[4] != '/') + goto invalid_request; } + else + goto invalid_request; /* determine path */ for(res = reqbuf + 4; *res && *(res + 1) == '/'; res++); for(p = res; *p && *p != ' '; p++); *p = 0; memmove(reqbuf, res, (p - res) + 1); return 0; +invalid_request: + fprintf(stderr, "%s: %s performs invalid request %s\n", tstamp(), name, reqbuf); + return -1; } void