sw/source/core/crsr/bookmrk.cxx | 9 ++++----- sw/source/core/doc/DocumentListsManager.cxx | 14 ++++++-------- sw/source/core/doc/doc.cxx | 8 +++----- sw/source/core/doc/docnew.cxx | 7 ++----- sw/source/core/doc/docnum.cxx | 9 ++++----- 5 files changed, 19 insertions(+), 28 deletions(-)
New commits: commit 3b921a2cd7c2b29245af4e975da6c60f72384237 Author: Michael Stahl <mst...@redhat.com> Date: Mon Oct 31 10:00:11 2016 +0100 sw: bookmark names don't need cryptographic randomness Change-Id: I6cecbf9b5a8b66de2e0e2d90fdecf6b389caad25 diff --git a/sw/source/core/crsr/bookmrk.cxx b/sw/source/core/crsr/bookmrk.cxx index 2ba5c11..3b93e30 100644 --- a/sw/source/core/crsr/bookmrk.cxx +++ b/sw/source/core/crsr/bookmrk.cxx @@ -31,10 +31,10 @@ #include <swtypes.hxx> #include <UndoBookmark.hxx> #include <unobookmark.hxx> -#include <rtl/random.h> #include <o3tl/make_unique.hxx> #include <xmloff/odffields.hxx> #include <libxml/xmlwriter.h> +#include <comphelper/random.hxx> #include <comphelper/anytostring.hxx> using namespace ::sw::mark; @@ -206,15 +206,14 @@ namespace sw { namespace mark } else { - static rtlRandomPool aPool = rtl_random_createPool(); static OUString sUniquePostfix; static sal_Int32 nCount = SAL_MAX_INT32; OUStringBuffer aResult(rPrefix); if(nCount == SAL_MAX_INT32) { - sal_Int32 nRandom; - rtl_random_getBytes(aPool, &nRandom, sizeof(nRandom)); - sUniquePostfix = OUStringBuffer(13).append('_').append(static_cast<sal_Int32>(abs(nRandom))).makeStringAndClear(); + unsigned int const n(comphelper::rng::uniform_uint_distribution(0, + std::numeric_limits<unsigned int>::max())); + sUniquePostfix = "_" + OUString::number(n); nCount = 0; } // putting the counter in front of the random parts will speed up string comparisons commit f28f87f20c040d941d7a5e64c6b662a23744a21b Author: Michael Stahl <mst...@redhat.com> Date: Fri Oct 28 23:45:40 2016 +0200 sw: RSID have no need for cryptographic randomness Change-Id: I4a3c4e390a6d05059e27ca33f02c38cfb6bb2e47 diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx index 6aea833..e3ae223 100644 --- a/sw/source/core/doc/doc.cxx +++ b/sw/source/core/doc/doc.cxx @@ -42,7 +42,6 @@ #include <hintids.hxx> #include <tools/globname.hxx> #include <svx/svxids.hrc> -#include <rtl/random.h> #include <com/sun/star/i18n/WordType.hpp> #include <com/sun/star/i18n/ForbiddenCharacters.hpp> @@ -52,6 +51,7 @@ #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp> #include <com/sun/star/document/XDocumentProperties.hpp> #include <comphelper/string.hxx> +#include <comphelper/random.hxx> #include <tools/urlobj.hxx> #include <tools/poly.hxx> #include <tools/multisel.hxx> @@ -245,10 +245,8 @@ void SwDoc::setRsid( sal_uInt32 nVal ) { // Increase the rsid with a random number smaller than 2^17. This way we // expect to be able to edit a document 2^12 times before rsid overflows. - static rtlRandomPool aPool = rtl_random_createPool(); - rtl_random_getBytes( aPool, &nIncrease, sizeof ( nIncrease ) ); - nIncrease &= ( 1<<17 ) - 1; - nIncrease++; // make sure the new rsid is not the same + // start from 1 to ensure the new rsid is not the same + nIncrease = comphelper::rng::uniform_uint_distribution(1, (1 << 17) - 1); } mnRsid = nVal + nIncrease; } diff --git a/sw/source/core/doc/docnew.cxx b/sw/source/core/doc/docnew.cxx index 8cd2dc9..37cb122 100644 --- a/sw/source/core/doc/docnew.cxx +++ b/sw/source/core/doc/docnew.cxx @@ -28,9 +28,9 @@ #include <com/sun/star/text/XFlatParagraphIteratorProvider.hpp> #include <comphelper/processfactory.hxx> +#include <comphelper/random.hxx> #include <vcl/svapp.hxx> #include <vcl/virdev.hxx> -#include <rtl/random.h> #include <sfx2/printer.hxx> #include <sfx2/docfile.hxx> #include <sfx2/frame.hxx> @@ -367,10 +367,7 @@ SwDoc::SwDoc() { // Initialize the session id of the current document to a random number // smaller than 2^21. - static rtlRandomPool aPool = rtl_random_createPool(); - rtl_random_getBytes( aPool, &mnRsid, sizeof ( mnRsid ) ); - mnRsid &= ( 1<<21 ) - 1; - mnRsid++; + mnRsid = comphelper::rng::uniform_uint_distribution(1, (1 << 21) - 1); } mnRsidRoot = mnRsid; commit 9fd3a83e47e94801e6f4c9a432e8459b8320aabc Author: Michael Stahl <mst...@redhat.com> Date: Fri Oct 28 22:54:32 2016 +0200 sw: DocumentListsManager: no need for cryptographic randomness here ... or in SwDoc::GetUniqueNumRuleName() Change-Id: Ifd6df902f7feae9db77f38654d7eb246dfb3510a diff --git a/sw/source/core/doc/DocumentListsManager.cxx b/sw/source/core/doc/DocumentListsManager.cxx index 7b071ee..18554d6 100644 --- a/sw/source/core/doc/DocumentListsManager.cxx +++ b/sw/source/core/doc/DocumentListsManager.cxx @@ -20,7 +20,9 @@ #include <doc.hxx> #include <list.hxx> #include <numrule.hxx> -#include <rtl/random.h> + +#include <comphelper/random.hxx> + #include <vector> @@ -230,13 +232,9 @@ const OUString DocumentListsManager::CreateUniqueListId() else { // #i92478# - OUString aNewListId( "list" ); - // #o12311627# - static rtlRandomPool s_RandomPool( rtl_random_createPool() ); - sal_Int64 n; - rtl_random_getBytes( s_RandomPool, &n, sizeof(n) ); - aNewListId += OUString::number( (n < 0 ? -n : n) ); - + unsigned int const n(comphelper::rng::uniform_uint_distribution(0, + std::numeric_limits<unsigned int>::max())); + OUString const aNewListId = "list" + OUString::number(n); return MakeListIdUnique( aNewListId ); } } diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx index 21e1726..46b70f4 100644 --- a/sw/source/core/doc/docnum.cxx +++ b/sw/source/core/doc/docnum.cxx @@ -18,7 +18,6 @@ */ #include <hintids.hxx> -#include <rtl/random.h> #include <tools/resid.hxx> #include <editeng/lrspitem.hxx> #include <ftninfo.hxx> @@ -55,6 +54,7 @@ #include <list.hxx> #include <calbck.hxx> #include <comphelper/string.hxx> +#include <comphelper/random.hxx> #include <tools/datetimeutils.hxx> #include <cstdlib> @@ -2210,10 +2210,9 @@ OUString SwDoc::GetUniqueNumRuleName( const OUString* pChkStr, bool bAutoNum ) c } else { - static rtlRandomPool s_RandomPool( rtl_random_createPool() ); - sal_Int64 n; - rtl_random_getBytes( s_RandomPool, &n, sizeof(n) ); - aName = OUString::number( (n < 0 ? -n : n) ); + unsigned int const n(comphelper::rng::uniform_uint_distribution(0, + std::numeric_limits<unsigned int>::max())); + aName = OUString::number(n); } if( pChkStr && pChkStr->isEmpty() ) pChkStr = nullptr; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits