]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Import fixes for some defects found by Coverity Scan from Red Hat's patchset
authorThomas Hozza <thozza@redhat.com>
Wed, 2 Jan 2013 03:44:55 +0000 (20:44 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Wed, 2 Jan 2013 03:44:55 +0000 (20:44 -0700)
src/HttpHdrRange.cc
src/MemObject.cc
src/client_side.cc
src/client_side_reply.cc
src/client_side_request.cc
src/esi/Esi.cc
src/fs/ufs/UFSSwapDir.cc

index f556d805a5136e03f3022b27a3fc28727e960e91..479e4f8e2529d0658dbfcb30e14c51c972061c6d 100644 (file)
@@ -96,7 +96,7 @@ HttpHdrRangeSpec::parseInit(const char *field, int flen)
             return false;
     } else
         /* must have a '-' somewhere in _this_ field */
-        if (!((p = strchr(field, '-')) || (p - field >= flen))) {
+        if (!((p = strchr(field, '-')) && (p - field < flen))) {
             debugs(64, 2, "invalid (missing '-') range-spec near: '" << field << "'");
             return false;
         } else {
index ecee3fdc7639ee0d7d3787d6b71ec178686b1b9e..59f8511822073af2e05648c4a8eb2fb2be874945 100644 (file)
@@ -182,7 +182,7 @@ MemObject::dump() const
     debugs(20, DBG_IMPORTANT, "MemObject->nclients: " << nclients);
     debugs(20, DBG_IMPORTANT, "MemObject->reply: " << _reply);
     debugs(20, DBG_IMPORTANT, "MemObject->request: " << request);
-    debugs(20, DBG_IMPORTANT, "MemObject->log_url: " << log_url << " " << checkNullString(log_url));
+    debugs(20, DBG_IMPORTANT, "MemObject->log_url: " << checkNullString(log_url));
 }
 
 HttpReply const *
index 5af18295f89638ee526b2d809b3c8b1b6efe529e..4d57a354561ce638c29584bd8be28995b5010098 100644 (file)
@@ -702,7 +702,8 @@ ClientHttpRequest::logRequest()
         if (request)
             al->adapted_request = HTTPMSGLOCK(request);
         accessLogLog(al, checklist);
-        updateCounters();
+        if (request)
+            updateCounters();
 
         if (getConn() != NULL && getConn()->clientConnection != NULL)
             clientdbUpdate(getConn()->clientConnection->remote, logType, AnyP::PROTO_HTTP, out.size);
index 1bb76695278ba46742dc28d26366beabb7f9ce81..b1c8d1b035192e75cf7c7204ce09b0c8dc6cb30e 100644 (file)
@@ -2067,10 +2067,14 @@ clientReplyContext::sendMoreData (StoreIOBuffer result)
 
     ConnStateData * conn = http->getConn();
 
-    if (conn == NULL || !conn->isOpen()) {
-        // too late, our conn is closing
-        // TODO: should we also quit?
-        debugs(33,3, HERE << "not sending more data to a closing " << conn->clientConnection);
+    // too late, our conn is closing
+    // TODO: should we also quit?
+    if (conn == NULL) {
+        debugs(33,3, "not sending more data to a closed connection" );
+        return;
+    }
+    if (!conn->isOpen()) {
+        debugs(33,3, "not sending more data to closing connection " << conn->clientConnection);
         return;
     }
 
index 39e28bd19b4045eac18b48fbd562a2ab91845cb8..c8e15981a452ce155e7906db6653b6d84b04106b 100644 (file)
@@ -1757,6 +1757,7 @@ ClientHttpRequest::handleAdaptedHeader(HttpMsg *msg)
 
         clientStreamNode *node = (clientStreamNode *)client_stream.tail->prev->data;
         clientReplyContext *repContext = dynamic_cast<clientReplyContext *>(node->data.getRaw());
+        assert(repContext);
         repContext->createStoreEntry(request->method, request->flags);
 
         EBIT_CLR(storeEntry()->flags, ENTRY_FWD_HDR_WAIT);
index 082b6e123d0d850644f03ecea075ee46b213cd5d..60c2344750bbb81281f6f1be308b30aaaaf3a02e 100644 (file)
@@ -2077,12 +2077,13 @@ esiChoose::addElement(ESIElement::Pointer element)
 
         debugs (86,3, "esiChooseAdd: Added a new element, elements = " << elements.size());
 
-        if (chosenelement == -1)
-            if ((dynamic_cast<esiWhen *>(element.getRaw()))->
-                    testsTrue()) {
+        if (chosenelement == -1) {
+            const esiWhen * topElement=dynamic_cast<esiWhen *>(element.getRaw());
+            if (topElement && topElement->testsTrue()) {
                 chosenelement = elements.size() - 1;
                 debugs (86,3, "esiChooseAdd: Chose element " << elements.size());
             }
+        }
     }
 
     return true;
index 2c436de1d96a82661f650470ff33fb38dfeed4c9..9497fb0783dda189405872aeda59e3a434dce477 100644 (file)
@@ -236,7 +236,7 @@ Fs::Ufs::UFSSwapDir::changeIO(DiskIOModule *module)
     /* TODO: factor out these 4 lines */
     ConfigOption *ioOptions = IO->io->getOptionTree();
 
-    if (ioOptions)
+    if (currentIOOptions && ioOptions)
         currentIOOptions->options.push_back(ioOptions);
 }