Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 336887

Summary: app-emulation/wine: dlls/shell32/pidl.c: strcpy_chk will always overflow destination buffer
Product: Gentoo Linux Reporter: Evan Teran <evan.teran>
Component: [OLD] UnspecifiedAssignee: Wine Maintainers <wine>
Severity: normal CC: ionen, kmilz, sam, tdalman
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 259417    
Attachments: build.log

Description Evan Teran 2010-09-12 04:39:14 UTC
I have experienced this with wine-1.2 and wine-1.3. Basically gcc incorrectly emits a "/usr/include/bits/string3.h:107:3: warning: call to __builtin___strcpy_chk will always overflow destination buffer".

wine makes use of the "struct hack" (a last member of a struct which is "variable length" based on how it is allocated. wine, does this in a slightly unconventional way by making use of unions which I imagine is confusing gcc.

The compilation itself succeeds, but portage decides to abort the install due to this warning.

Unfortunately, I am not aware of any portage options to ignore this warning (ideally just for this package).

Reproducible: Always

# emerge --info
Portage 2.2_rc79 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.1, glibc-2.11.2-r0, 2.6.34-gentoo-r6 x86_64)
System uname: Linux-2.6.34-gentoo-r6-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7700_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Sat, 11 Sep 2010 19:00:01 +0000
app-shells/bash:     4.0_p37
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r3, 3.1.2-r4
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.3
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.5.1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.30-r1 (sys-kernel/linux-headers)
CFLAGS="-march=native -fomit-frame-pointer -O3 -pipe -ggdb"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/portage /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -fomit-frame-pointer -O3 -pipe -ggdb"
FEATURES="assume-digests collision-protect distlocks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US en_US.UTF-8"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
USE="64bit X a52 aac acl acpi alsa amd64 apache2 avahi berkdb bluetooth boost branding bzip2 cairo cdr chroot cli cmake consolekit cracklib crypt css cups curl cvs cxx dbus debugger dri dts dvd dvdr emboss encode exif extras fam firefox flac fts3 gd gdbm gif git gnome gnutls gpm graphviz gtk hal iconv jadetex java java6 jpeg kde kpathsea kqemu kvm lcms ldap libnotify mad mdnsresponder-compat mikmod mmx mng modules mp3 mp4 mpeg mudflap multilib mysql ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pango parted pcre pdf pdo perl php plasma png policykit ppds ppp pppd python qt3support qt4 readline reflection rss script sdl secure-delete semantic-desktop session simplexml smp soap spell sql sqlite sqlite3 sse sse2 sse3 ssl ssse3 startup-notification subversion svg sysfs tcpd thumbnail tiff tk tools truetype unicode usb vorbis webkit wicd wifi wxwidgets x264 xcb xcomposite xinerama xml xorg xscreensaver xulrunner xv xvid zeroconf zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US en_US.UTF-8" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia nv vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Comment 1 Evan Teran 2010-09-12 04:41:05 UTC
Created attachment 246933 [details]

sorry it was too bit, so I had to compress it.
Comment 2 Nirbheek Chauhan (RETIRED) gentoo-dev 2010-09-14 10:05:46 UTC
This was caused by portage making "always-overflow" warnings fatal, but those warnings are not always correct. Since bug 337031, portage- has reverted the change.

I'm not sure what to do in this case (RESO FIXED/RESO DUP etc) so I'm re-assigning to maintainers.
Comment 4 SpanKY gentoo-dev 2010-09-25 05:34:51 UTC
apparently my patch breaks things.  see Bug 338434.
Comment 5 SpanKY gentoo-dev 2010-10-15 01:55:54 UTC
*** Bug 340931 has been marked as a duplicate of this bug. ***
Comment 6 Ionen Wolkens gentoo-dev 2022-10-22 08:23:38 UTC
I do not believe this is still relevant, please open a new bug using the current packages if there's still something.