http://bugzilla.suse.com/show_bug.cgi?id=1020028
http://bugzilla.suse.com/show_bug.cgi?id=1020028#c7
--- Comment #7 from Jonathan Kang
This bug, as well as bug#955557, suffer from a buffer overflows in backend_get_updates_thread. This one inside libzypp the other one outside.
OTOH, libzypp (and also it's PathInfo class) is heavily used by zypper and yast. All their tests succeed on i586. Also no similar bug reports from i586 systems about zypper/yast.
Also no problems in other backend jobs; just in backend_get_updates_thread.
Franky, I doubt that we'll find the problem inside the libzypp code.
(In reply to Jonathan Kang from comment #3)
We can see the stack smashing happened in libzypp-16.4.3/zypp/PathInfo.cc:172.
I looked the implementation of PathInfo class, and found it calls xstat64() somehow in this 32-bit machine, which is quite odd.
(https://www.tcm.phy.cam.ac.uk/sw/inodes64.html) The 64 in stat64 refers to the size of the filesystem inodes, not tho the systems architecture. The glibc stat() wrapper function hides these details from applications and under the hood calls whatever is appropriate.
Replacing
if (PathInfo("/etc/PackageKit/ZYpp.conf").isExist()) with if (g_file_test ("/etc/PackageKit/ZYpp.conf", G_FILE_TEST_EXISTS)) to check if "/etc/PackageKit/ZYpp.conf" fixes the problem.
So I highly doubt that there is something wrong with PathInfo. -- You are receiving this mail because: You are on the CC list for the bug.