diff --git a/libs/xmlrpc-c/lib/abyss/src/http.c b/libs/xmlrpc-c/lib/abyss/src/http.c index 5aa661fc88..7103fb15cd 100644 --- a/libs/xmlrpc-c/lib/abyss/src/http.c +++ b/libs/xmlrpc-c/lib/abyss/src/http.c @@ -868,9 +868,11 @@ readAndProcessHeaders(TSession * const sessionP, -----------------------------------------------------------------------------*/ bool endOfHeaders; - assert(!sessionP->validRequest); - /* Calling us doesn't make sense if there is already a valid request */ - + /* Calling us doesn't make sense if there is already a valid request */ + if (sessionP->validRequest) { + return; + } + *httpErrorCodeP = 0; /* initial assumption */ endOfHeaders = false; /* Caller assures us there is at least one header */ diff --git a/libs/xmlrpc-c/lib/abyss/src/server.c b/libs/xmlrpc-c/lib/abyss/src/server.c index 873f928b8f..dc4891e116 100644 --- a/libs/xmlrpc-c/lib/abyss/src/server.c +++ b/libs/xmlrpc-c/lib/abyss/src/server.c @@ -529,7 +529,7 @@ processDataFromClient(TConn * const connectionP, uint32_t const timeout, bool * const keepAliveP) { - TSession session; + TSession session = {0}; /* initilization, an afforadble alternative to random memory being misinterpreted! */ RequestInit(&session, connectionP);