[Bug 156840] (gcc4 O1+) perl-DBD-pg Placeholders no longer functioning

bugzilla at redhat.com bugzilla at redhat.com
Tue May 24 11:42:31 UTC 2005


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.

Summary: (gcc4 O1+) perl-DBD-pg Placeholders no longer functioning


https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=156840


jakub at redhat.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |ASSIGNED




------- Additional Comments From jakub at redhat.com  2005-05-24 07:42 EST -------
Ok, finally see the bug.  I was mislead by looking at second sprintf in the
routine, but that one is optimized out and there is a third one, which is
bogus:

                if (currseg->placeholder) {
                        sprintf(statement, "%s$%d", statement,
currseg->placeholder);
                }

You simply can't do this in C, see ISO C99, 7.19.6.6:
If copying takes place between objects that overlap, the behavior is undefined.

I certainly don't have time to rewrite this whole junk, so here is just
a quick fix for this exact case, though someone please rewrite this, ideally
from scratch.

-- 
Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




More information about the Fedora-perl-devel-list mailing list