[Libreoffice-bugs] [Bug 143450] New: Data corruption when returning small structs containing a double from C++ via IPC
bugzilla-daemon at bugs.documentfoundation.org
bugzilla-daemon at bugs.documentfoundation.org
Tue Jul 20 07:24:08 UTC 2021
https://bugs.documentfoundation.org/show_bug.cgi?id=143450
Bug ID: 143450
Summary: Data corruption when returning small structs
containing a double from C++ via IPC
Product: LibreOffice
Version: 6.0.0.3 release
Hardware: All
OS: Linux (All)
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: sdk
Assignee: libreoffice-bugs at lists.freedesktop.org
Reporter: marc-oliver.straub at advantest.com
Description:
I noticed data corruption of the double value in a small struct when returning
the struct as result via IPC.
struct XMyStruct {
double field1;
hyper field2;
}
interface XMyInterface {
XMyStruct myMethod();
}
XMyStruct myMethod() {
return XMyStruct(2.0, 3);
}
The integer member seems to be correctly transferred, but the double member
seems to be corrupt. If the struct contains two doubles or 2 hyper values, the
data is correct. If the order of the fields is changed (hyper first, then
double) both fields are corrupt.
Increasing the size of the struct, eg. by adding another double member fixes
the data corruption.
Steps to Reproduce:
Implement a C++ service, implementing XMyInterface as in description.
Implement a C++ client in a different process calling XMyInterface via IPC
Actual Results:
Observe that the values of the struct in C++ client are corrupted, depending on
the order of the double/hyper members in the struct.
Expected Results:
Struct members should be correct, regardless of their order.
Reproducible: Always
User Profile Reset: No
Additional Info:
I suggest Stephan Bergmann to take a look. I assume the bug is in the lowlevel
code near ./bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx, perhaps in
x86_64::fill_struct(...)
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20210720/2ac5f736/attachment.htm>
More information about the Libreoffice-bugs
mailing list