On Mon, 2013-09-30 at 18:03 +0200, tino.keitel+syncevolution(a)tikei.de
wrote:
On Mon, Sep 30, 2013 at 17:09:29 +0200,
tino.keitel+syncevolution(a)tikei.de wrote:
> Hi,
>
> meanwhile, I could nail it down to the compiler/linker flags used for
> the package build (export DEB_BUILD_MAINT_OPTIONS = hardening=+all).
>
> I'll report back what flag exactly causes the
> segfault.
The segfault happens when I build with -fPIE and link with -fPIE -pie.
As this mainly deals with address space layout, my guess is that this
just unhides another bug.
Bingo! You've found a 64 bit bug in sync-ui. As the other bug, this goes
back to the original development of the UI.
At one point, it passes a string pointer through a 32bit unsigned int,
which only works as long as the memory actually lies in the lower
address range. PIE mode seems to change that such that the conversion
drops significant bits, while running under valgrind changes it back to
"working" again.
I was able to reproduce it with these compile flags. Attached the fix.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.