diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2020-09-01 17:14:10 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2020-09-05 19:54:05 +0200 |
commit | 7fc98802ecd6d9e198ae37269f10522286db987e (patch) | |
tree | de4e1ef3e56955e9eca333c148fccbb068630c99 /registry | |
parent | bb0c7d1615ba56966cddf1ef6caa25c08f1bd852 (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>
Diffstat (limited to 'registry')
-rw-r--r-- | registry/source/keyimpl.cxx | 4 | ||||
-rw-r--r-- | registry/source/regimpl.cxx | 10 |
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) { |