Mailinglist Archive: opensuse-bugs (4295 mails)

< Previous Next >
[Bug 1020028] [Build 20170112] openQA test fails in check_system_is_updated
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Mon, 22 May 2017 07:53:51 +0000
  • Message-id: <bug-1020028-21960-Nn28V8o97e@http.bugzilla.suse.com/>
http://bugzilla.suse.com/show_bug.cgi?id=1020028
http://bugzilla.suse.com/show_bug.cgi?id=1020028#c7

--- Comment #7 from Jonathan Kang <sckang@xxxxxxxx> ---
(In reply to Michael Andres from comment #6)
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.
< Previous Next >