[Libreoffice-commits] core.git: passing a NULL pointer to fileno is not allowed

Stephan Bergmann sbergman at redhat.com
Fri Jun 17 09:03:31 UTC 2016

On 06/17/2016 09:59 AM, Markus Mohrhard wrote:
> On Fri, Jun 17, 2016 at 9:38 AM, Stephan Bergmann <sbergman at redhat.com
> <mailto:sbergman at redhat.com>> wrote:
>     On 06/15/2016 09:52 PM, Markus Mohrhard wrote:
>         commit b5876bfcb69a65c87d602bae687b3c0634c0a1e7
>         Author: Markus Mohrhard <markus.mohrhard at googlemail.com
>         <mailto:markus.mohrhard at googlemail.com>>
>         Date:   Wed Jun 15 20:15:20 2016 +0200
>             passing a NULL pointer to fileno is not allowed
>             See crash reports at
>     What I don't quite understand is:
>     <https://cgit.freedesktop.org/libreoffice/core/commit/?id=a82e532ce006c54b2740de74d1da5d11307da7c1>
>     "fdo#38913: Prevent invalid parameter handler crashes" establishes a
>     _set_invalid_parameter_handler (that outputs to std::wcerr and then
>     returns), so one would assume that calling fileno(nullptr) would not
>     abort via MSVCR's _invalid_parameter_noinfo (see
>     <http://crashreport.libreoffice.org/stats/crash_details/8e1e262d-3281-431c-89b5-a5642033fe94>)
>     but rather return EINVAL.
> If breakpad is enabled it overwrites the invalid parameter handler. We
> can of course change that behavior (just a different flag to the
> breakpad init code) but at least I think that it is a good thing to not
> ignore these errors.

Ah, that explains it.

Now that the root cause for 
<https://bugs.documentfoundation.org/show_bug.cgi?id=38913> "CRASH at 
startup citing msvcr90.dll after upgrade (most likely related to 
javasettings_Windows_x86.xml in the user profile)" has probably been 
found and fixed with the above commit, I think it is best to revert 
"fdo#38913: Prevent invalid parameter handler crashes" again and remove 
the _set_invalid_parameter_handler hack from sal/osl/w32/salinit.cxx. 
Done that now with <https://gerrit.libreoffice.org/#/c/26411/> "Revert 
'fdo#38913: Prevent invalid parameter handler crashes'".

More information about the LibreOffice mailing list