Seeing as since:
commit e9531b792d
Date: Tue Feb 6 14:39:47 2024 +0100
sal: rtlRandomPool: require OS random device, abort if not present
Both rtl_random_createPool() and rtl_random_getBytes() first try to get
random data from the OS, via /dev/urandom or rand_s() (documented to
call RtlGenRandom(), see [1]).
we don't use the initial arg to rtl_random_getBytes anymore, drop the
requirement to have one. Then simplify our usages of that, and
addtionally deprecate rtl_random_createPool and rtl_random_destroyPool.
Change-Id: I13dcc067714a8a741a4e8f2bfcf2006373f832c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167067
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
This reverts commit 3d9f9b1b29.
Reason for revert: comment from sberg:
I'm not convinced that a general rule of "clear all references in dispose()" is a good idea. For example, in this class, access to connection_ and provider_ is not guarded against MT-races, on the basis that those two are never modified post construction. That is broken now. Also, e.g. Bridge::getDescription dereferences connection_, and benignly used to work fine even when called on a disposed instance. Now, it causes UB.
Change-Id: I6039d5b1488146f09439312800ceb1de3cfcf0ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156878
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
...so use o3tl::make_unsigned when comparing it against an expression of
unsigned integer type, instead of casting that expression to a signed type
Change-Id: Id2bea3010bf67bdaeb0766b20baecba195bf0181
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135227
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...so use o3tl::make_unsigned when comparing it against an expression of
unsigned integer type, instead of casting that expression to a signed type
Change-Id: Ic47c6d96919b2aba2d16ce6d1a2a8e4c5761a480
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135219
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...after 084b2b068a "optimise Any::operator=(&&) a
little" folded moveAnyInternals into its only remaining call site
Change-Id: I2a9d8a775d601bc0307a3f3a5dfc139c571489ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134751
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
This reverts commit 9f0484c2bc.
Reason for revert: this patch was unnecessary, the operator<< for css::uno::Exception alreadys logs the message, I got confused
Change-Id: I45932be060059eac92d460a70c944e1b19b5c375
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116706
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
which means that some call sites have to change to use
unicode string literals i.e. u"foo" instead of "foo"
Change-Id: Ie51c3adf56d343dd1d1710777f9d2a43ee66221c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106125
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
760980b0b5 "Fix typos" had, IMO incorrectly,
removed one "that" from
..., so that that asynchronous request would...
Lets rephrase the original comment in a less problematic way.
Change-Id: Ic13ffaad43e2777eb36425363851b53f2f641865
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97087
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Abandoned <b9ecec7c74687ed5a9470cffb7d02e0e6e83107e> "Don't call out to UNO with
SolarMutex locked" documents a deadlock where a synchronous
documentEventOccurred call made with SolarMutex locked evokes an asynchronous
release call back (serviced on a different physical thread, but which blocks the
original thread) that then wants to acquire the SolarMutex. While we usually
appear to get away with wrapping those UNO calls in SolarMutexReleaser (though
knowing all too well that that is nothing but a bad hack that may well cause
crashes and deadlocks at least in theory), the place in
SfxBaseModel::postEvent_Impl was obviously too sensitive for that hack: It did
cause enough different crashes (e.g., hitting
assert(pSchedulerData == pMostUrgent);
in Scheduler::ProcessTaskScheduling, vcl/source/app/scheduler.cxx) and deadlocks
(e.g., different threads now taking the SolarMutex and JobExecutor's mutex in
framework/source/jobs/jobexecutor.cxx in different orders) to make me search for
a different "fix", so I came up with this hack instead.
Change-Id: Icd26926279cb86ce529edb4544a3ec0bc9a8b108
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96946
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
<https://wiki.openoffice.org/wiki/Uno/Remote/Specifications/Uno_Remote_Protocol#
The_queryInterface_Message> specifies that this shall return an ANY either of
type VOID (so handle that) or of type css.uno.XInterface with non-null value (so
throw exceptions for any other kinds of return values).
Various Linux Jenkins builds had recently started to sporadically fail during
UITest_calc_demo, hitting the
assert(
type.get()->eTypeClass == typelib_TypeClass_ANY ||
type.equals(css::uno::TypeDescription(data_.pType)));
in the call to binaryurp::BinaryAny::getValue (binaryurp/source/binaryany.cxx),
e.g. <<https://ci.libreoffice.org/job/lo_tb_master_linux_dbg/29831/>. While it
is unclear why those failures happen, they highlight that this code did not
properly handle all possible (valid or invalid) input.
Change-Id: I95db574aa102ff75fa22fd24c697a0cfa24b7aff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95527
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>