Bug#500788: Segmentation fault on INSERT

Philipp Marek philipp.marek at emerion.com
Wed Oct 1 12:38:33 UTC 2008


To: Debian Bug Tracking System <submit at bugs.debian.org>
X-Reportbug-Version: 3.45
X-Debbugs-Cc: philipp.marek at emerion.com
Package: libdbd-pg-perl
Version: 2.10.7-1
Severity: normal

I just found out that a certain kind of INSERT statement can cause the
DBD::PG module to produce a segmentation fault - reproduceably.


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f09c22e56e0 (LWP 11781)]
0x00007f09c13fb850 in strcat () from /lib/libc.so.6
(gdb) bt
#0  0x00007f09c13fb850 in strcat () from /lib/libc.so.6
#1  0x00007f09c0668ff2 in pg_st_execute () from /usr/lib/perl5/auto/DBD/Pg/Pg.so
#2  0x00007f09c0655f50 in XS_DBD__Pg__db_do () from /usr/lib/perl5/auto/DBD/Pg/Pg.so
#3  0x00007f09c0ca8708 in XS_DBI_dispatch () from /usr/lib/perl5/auto/DBI/DBI.so
#4  0x00007f09c1e23e50 in Perl_pp_entersub () from /usr/lib/libperl.so.5.10
#5  0x00007f09c1e22332 in Perl_runops_standard () from /usr/lib/libperl.so.5.10
#6  0x00007f09c1e1d57f in perl_run () from /usr/lib/libperl.so.5.10
#7  0x0000000000400d0c in main ()
(gdb) q


To see that yourself:
- A table with (at least) two fields
- A correct INSERT statement works:
  $db_session->do("INSERT INTO tbl(a, b) VALUES(?,?)", {}, "x", "y");
- With just a little type you get a segmentation violation:
  $db_session->do("INSERT INTO tbl(a, b) VALUES(??)", {}, "x", "y");

The perl part seems to notice that there are two "?", and two bind values, 
so everything's ok - but afterwards it crashes


Regards,

Phil


-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-1-amd64 (SMP w/1 CPU core)
Locale: LANG=de_AT.UTF-8, LC_CTYPE=de_AT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libdbd-pg-perl depends on:
ii  libc6                         2.7-13     GNU C Library: Shared libraries
ii  libdbi-perl                   1.607-1    Perl5 database interface by Tim Bu
ii  libpq5                        8.3.4-1    PostgreSQL C client library
ii  perl                          5.10.0-15  Larry Wall's Practical Extraction 
ii  perl-base [perlapi-5.10.0]    5.10.0-15  minimal Perl system
ii  perl-modules [libversion-perl 5.10.0-15  Core Perl modules

libdbd-pg-perl recommends no packages.

libdbd-pg-perl suggests no packages.

-- no debconf information





More information about the pkg-perl-maintainers mailing list