This is an automated email from the ASF dual-hosted git repository.

gancho pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

The following commit(s) were added to refs/heads/master by this push:
       new  182754d   Coverity 1356971: Unchecked return value
182754d is described below

commit 182754d0f7257a1dcbe208f9d759d2fa81037444
Author: Gancho Tenev <gan...@apache.com>
AuthorDate: Wed May 10 09:49:32 2017 -0700

    Coverity 1356971: Unchecked return value
    
    Problem:
      CID 1356971 (#1 of 1): Unchecked return value (CHECKED_RETURN)
      13. check_return: Calling TSUrlCreate without checking return value
    
    Fix:
      Added the result check and also fixed a resource leak.
---
 example/cache_scan/cache_scan.cc | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/example/cache_scan/cache_scan.cc b/example/cache_scan/cache_scan.cc
index 3a96c34..22f457a 100644
--- a/example/cache_scan/cache_scan.cc
+++ b/example/cache_scan/cache_scan.cc
@@ -444,16 +444,21 @@ setup_request(TSCont contp, TSHttpTxn txnp)
         TSMBuffer urlBuf = TSMBufferCreate();
         TSMLoc urlLoc;
 
-        TSUrlCreate(urlBuf, &urlLoc);
-        if (TSUrlParse(urlBuf, urlLoc, (const char **)&start, end) != 
TS_PARSE_DONE ||
-            TSCacheKeyDigestFromUrlSet(cstate->key_to_delete, urlLoc) != 
TS_SUCCESS) {
-          TSError("[%s] CacheKeyDigestFromUrlSet failed", PLUGIN_NAME);
-          TSCacheKeyDestroy(cstate->key_to_delete);
-          TSfree(cstate);
-          TSHandleMLocRelease(urlBuf, nullptr, urlLoc);
-          goto Ldone;
+        if (TS_SUCCESS == TSUrlCreate(urlBuf, &urlLoc)) {
+          if (TSUrlParse(urlBuf, urlLoc, (const char **)&start, end) != 
TS_PARSE_DONE ||
+              TSCacheKeyDigestFromUrlSet(cstate->key_to_delete, urlLoc) != 
TS_SUCCESS) {
+            TSError("[%s] CacheKeyDigestFromUrlSet failed", PLUGIN_NAME);
+            TSCacheKeyDestroy(cstate->key_to_delete);
+            TSfree(cstate);
+            TSHandleMLocRelease(urlBuf, TS_NULL_MLOC, urlLoc);
+            TSMBufferDestroy(urlBuf);
+            goto Ldone;
+          }
+          TSHandleMLocRelease(urlBuf, TS_NULL_MLOC, urlLoc);
+        } else {
+          TSError("[%s] TSUrlCreate failed", PLUGIN_NAME);
         }
-        TSHandleMLocRelease(urlBuf, nullptr, urlLoc);
+        TSMBufferDestroy(urlBuf);
       }
     }
 

-- 
To stop receiving notification emails like this one, please contact
['"commits@trafficserver.apache.org" <commits@trafficserver.apache.org>'].

Reply via email to