diff options
author | sangwan.kwon <sangwan.kwon@samsung.com> | 2016-12-14 20:04:27 +0900 |
---|---|---|
committer | sangwan.kwon <sangwan.kwon@samsung.com> | 2016-12-14 20:04:27 +0900 |
commit | ed3f4f73a45fecc781bb38ed754d95bbacd969dd (patch) | |
tree | af117bec4e5c28a99e8e21bf81216a124364429a | |
parent | 3824f32bdd51b03ae1cd9d3f33e6b218c6e5cb44 (diff) | |
download | xmlsec1-accepted/tizen/3.0.m2/tv/20170105.025705.tar.gz xmlsec1-accepted/tizen/3.0.m2/tv/20170105.025705.tar.bz2 xmlsec1-accepted/tizen/3.0.m2/tv/20170105.025705.zip |
Fix memory leak on custom codesubmit/tizen_3.0/20161214.084528submit/tizen_3.0.m2/20170104.093755accepted/tizen/3.0/wearable/20161215.085553accepted/tizen/3.0/tv/20161215.085534accepted/tizen/3.0/mobile/20161215.085512accepted/tizen/3.0/ivi/20161215.085619accepted/tizen/3.0/common/20161215.164858accepted/tizen/3.0.m2/wearable/20170105.025751accepted/tizen/3.0.m2/tv/20170105.025705accepted/tizen/3.0.m2/mobile/20170105.025558tizen_3.0_tvtizen_3.0.m2accepted/tizen_3.0_wearableaccepted/tizen_3.0_tvaccepted/tizen_3.0_mobileaccepted/tizen_3.0_iviaccepted/tizen_3.0_commonaccepted/tizen_3.0.m2_wearableaccepted/tizen_3.0.m2_tvaccepted/tizen_3.0.m2_mobile
* The result of xmlGetProp() should be free.
* See, http://xmlsoft.org/library.html
* It is different with below commit on tizen branch
* [c8d86331b65b3c290e7a1b3de7092d3a5a00b468]
Change-Id: Iffb19e18f45b1ac51acb70c22e279f709cad3751
Signed-off-by: sangwan.kwon <sangwan.kwon@samsung.com>
-rw-r--r-- | src/xmldsig.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/xmldsig.c b/src/xmldsig.c index db33058e..19973d45 100644 --- a/src/xmldsig.c +++ b/src/xmldsig.c @@ -980,21 +980,21 @@ xmlSecDSigCtxProcessReferences(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr firstReferen return(-1); } - xmlSecError(XMLSEC_ERRORS_HERE, - NULL, - NULL, - XMLSEC_ERRORS_MAX_NUMBER, - "Start to search reference on proxy : %s.", - refUri); - xmlSecProxyCtxPtr pc = dsigCtx->proxyCtxPtr; while(pc != NULL) { if(xmlSecDecodeCmp(refUri, pc->cache) == 0) { isInProxy = 1; + xmlSecError(XMLSEC_ERRORS_HERE, + NULL, + NULL, + XMLSEC_ERRORS_MAX_NUMBER, + "Check [%s] on processing references.", + refUri); break; } pc = pc->next; } + xmlFree(refUri); } else { /* if proxy is not exist, process references */ xmlSecError(XMLSEC_ERRORS_HERE, @@ -1002,19 +1002,11 @@ xmlSecDSigCtxProcessReferences(xmlSecDSigCtxPtr dsigCtx, xmlNodePtr firstReferen NULL, XMLSEC_ERRORS_MAX_NUMBER, "Proxy doesn't exist."); - isInProxy = 1; } /* if not exist on proxy, skip on processing references */ - if(isInProxy == 0) { - xmlSecError(XMLSEC_ERRORS_HERE, - NULL, - NULL, - XMLSEC_ERRORS_MAX_NUMBER, - "Skip %s on processing references.", - xmlGetProp(cur, xmlSecAttrURI)); + if(isInProxy == 0) continue; - } } /* create reference */ |