]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Fix missing helper.cc callback check
authorAmos Jeffries <squid3@treenet.co.nz>
Fri, 13 Jan 2017 04:41:10 +0000 (17:41 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Fri, 13 Jan 2017 04:41:10 +0000 (17:41 +1300)
Calls to cbdataReferenceValidDone() need to be checked for true result
before calling the callback. The pointer may be NULL.

 Detected by Coverity Scan. Issue 1398569.

src/helper.cc

index ae8355c711444ddb24373b4f0045d4d8cbc38e4c..02f4f53b488b1ad3e1e97f6fc1567a914dd063c5 100644 (file)
@@ -906,8 +906,8 @@ helperReturnBuffer(helper_server * srv, helper * hlp, char * msg, size_t msgSize
                 HLPCB *callback = r->request.callback;
                 r->request.callback = nullptr;
                 void *cbdata = nullptr;
-                cbdataReferenceValidDone(r->request.data, &cbdata);
-                callback(cbdata, r->reply);
+                if (cbdataReferenceValidDone(r->request.data, &cbdata))
+                    callback(cbdata, r->reply);
             }
         }