From 0c9c70bdf9bcda1df54f1bc74016ce49dffb58b6 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Thu, 2 Nov 2017 21:22:28 +0000 Subject: Split CJX_Node::RemoveMapModuleKey This CL splits RemoveMapModuleKey to extract ClearMapModuleBuffer which is called on destroy to clear the buffer. This also fixes a potential bug where when we lookup the key, if the hashcode for the key returns 0 we will end up with a nullptr key. Change-Id: Ic2b0529a999f6f789dd81fbc4e02ecfbbf7a7632 Reviewed-on: https://pdfium-review.googlesource.com/17614 Commit-Queue: dsinclair Reviewed-by: Tom Sepez --- fxjs/cjx_node.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'fxjs/cjx_node.h') diff --git a/fxjs/cjx_node.h b/fxjs/cjx_node.h index 77092d434b..8a67d3f0fc 100644 --- a/fxjs/cjx_node.h +++ b/fxjs/cjx_node.h @@ -67,7 +67,7 @@ class CJX_Node : public CJX_Object { const WideString& wsXMLValue, bool bNotify, bool bScriptModify); - bool RemoveAttribute(const WideStringView& wsAttr); + void RemoveAttribute(const WideStringView& wsAttr); CXFA_Node* GetProperty(int32_t index, XFA_Element eType, @@ -443,7 +443,8 @@ class CJX_Node : public CJX_Object { int32_t& iBytes, bool bProtoAlso) const; bool HasMapModuleKey(void* pKey); - void RemoveMapModuleKey(void* pKey = nullptr); + void ClearMapModuleBuffer(); + void RemoveMapModuleKey(void* pKey); void MoveBufferMapData(CXFA_Node* pDstModule, void* pKey); void MoveBufferMapData(CXFA_Node* pSrcModule, CXFA_Node* pDstModule, -- cgit v1.2.3