summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2020-09-01 17:14:10 +0200
committerStephan Bergmann <sbergman@redhat.com>2020-09-05 19:54:05 +0200
commit7fc98802ecd6d9e198ae37269f10522286db987e (patch)
treede4e1ef3e56955e9eca333c148fccbb068630c99
parentbb0c7d1615ba56966cddf1ef6caa25c08f1bd852 (diff)
Create OUString from storeFindData m_pszName and m_nLength
...assuming that (a) m_nLength does always reflect the actual m_pszName length, and (b) that way of constructing an OUString from a pointer was not chosen deliberately to cut of the string at a potential embedded NUL. (This change is a prerequisite for making the OUString ctor taking a raw pointer explicit.) Change-Id: I75519825cd6b60a7c308a3697bfbfc40afb2d1c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102076 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
-rw-r--r--registry/source/keyimpl.cxx4
-rw-r--r--registry/source/regimpl.cxx10
2 files changed, 7 insertions, 7 deletions
diff --git a/registry/source/keyimpl.cxx b/registry/source/keyimpl.cxx
index f3cb2d00b34e..e76512e9e19a 100644
--- a/registry/source/keyimpl.cxx
+++ b/registry/source/keyimpl.cxx
@@ -111,7 +111,7 @@ RegError ORegKey::openSubKeys(const OUString& keyName, RegKeyHandle** phOpenSubK
{
if ( iter.m_nAttrib & STORE_ATTRIB_ISDIR )
{
- OUString const sSubKeyName = iter.m_pszName;
+ OUString const sSubKeyName(iter.m_pszName, iter.m_nLength);
ORegKey* pOpenSubKey = nullptr;
_ret = pKey->openKey(sSubKeyName, reinterpret_cast<RegKeyHandle*>(&pOpenSubKey));
@@ -175,7 +175,7 @@ RegError ORegKey::getKeyNames(const OUString& keyName,
{
if ( iter.m_nAttrib & STORE_ATTRIB_ISDIR)
{
- OUString const sSubKeyName = iter.m_pszName;
+ OUString const sSubKeyName(iter.m_pszName, iter.m_nLength);
OUString sFullKeyName(pKey->getName());
if (sFullKeyName.getLength() > 1)
diff --git a/registry/source/regimpl.cxx b/registry/source/regimpl.cxx
index 000d82fdd927..583cddd295d1 100644
--- a/registry/source/regimpl.cxx
+++ b/registry/source/regimpl.cxx
@@ -820,7 +820,7 @@ RegError ORegistry::deleteSubkeysAndValues(ORegKey* pKey)
while (_err == store_E_None)
{
- OUString const keyName = iter.m_pszName;
+ OUString const keyName(iter.m_pszName, iter.m_nLength);
if (iter.m_nAttrib & STORE_ATTRIB_ISDIR)
{
@@ -867,7 +867,7 @@ RegError ORegistry::loadKey(RegKeyHandle hKey, const OUString& regFileName,
while (_err == store_E_None)
{
- OUString const keyName = iter.m_pszName;
+ OUString const keyName(iter.m_pszName, iter.m_nLength);
if (iter.m_nAttrib & STORE_ATTRIB_ISDIR)
{
@@ -1221,7 +1221,7 @@ RegError ORegistry::loadAndSaveKeys(ORegKey* pTargetKey,
while (_err == store_E_None)
{
- OUString const sName = iter.m_pszName;
+ OUString const sName(iter.m_pszName, iter.m_nLength);
if (iter.m_nAttrib & STORE_ATTRIB_ISDIR)
{
@@ -1266,7 +1266,7 @@ RegError ORegistry::dumpRegistry(RegKeyHandle hKey) const
while (_err == store_E_None)
{
- sName = iter.m_pszName;
+ sName = OUString(iter.m_pszName, iter.m_nLength);
if (iter.m_nAttrib & STORE_ATTRIB_ISDIR)
{
@@ -1552,7 +1552,7 @@ RegError ORegistry::dumpKey(const OUString& sPath, const OUString& sName, sal_In
while (_err == store_E_None)
{
- sSubName = iter.m_pszName;
+ sSubName = OUString(iter.m_pszName, iter.m_nLength);
if (iter.m_nAttrib & STORE_ATTRIB_ISDIR)
{