Skip Menu |

This queue is for tickets about the DBD-Firebird CPAN distribution.

Report information
The Basics
Id: 92821
Status: resolved
Priority: 0/
Queue: DBD-Firebird

People
Owner: Nobody in particular
Requestors: vb [...] enkx.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 1.17



Subject: Bug in DBD-Firebird-1.16 (fix suggestion)
Date: Fri, 07 Feb 2014 23:23:40 +0400
To: bug-DBD-Firebird [...] rt.cpan.org
From: Vadim Belov <vb [...] enkx.com>
Hello, Recently I have encountered a problem with fetchrow_array in FirebirdEmbedded. I use Perl 5.16.3 built from sources under Windows. Perl stops with the message "Free to wrong pool 3469a8 not d6ff7e47 at test.pl line 15." when I run the script below. Finally, the problem has been located and fixed. In the file dbdimp.c Line 2926: XSQLDA *out; should be replaced with Line 2926: XSQLDA *out=NULL; Just wanted to let you know about this. I think it is good for portability to fix this issue because not all compilers initialize variables to zero by default. Sincerely, Vadim Belov use strict; use warnings; use DBI; my $dbh = DBI->connect('dbi:FirebirdEmbedded:db=c:\\f.db') or die "Couldn't connect to database: " . DBI->errstr; my $sth = $dbh->prepare("SELECT rdb\$relation_name FROM rdb\$relations where rdb\$view_blr is null and (rdb\$system_flag is null or rdb\$system_flag = 0)") or die "Couldn't prepare statement: " . $dbh->errstr; $sth->execute() # Execute the query or die "Couldn't execute statement: " . $sth->errstr; # Read the matching records and print them out while (my @data = $sth->fetchrow_array()) { my $name = $data[0]; print "\t$name\n"; }
На 07 февр. 2014, пт 21:25:27, vb@enkx.com написа: Show quoted text
> Recently I have encountered a problem with fetchrow_array in > FirebirdEmbedded. I use Perl 5.16.3 built from sources under Windows. > Perl stops with the message "Free to wrong pool 3469a8 not d6ff7e47 at > test.pl line 15." when I run the script below. Finally, the problem has > been located and fixed. In the file dbdimp.c > Line 2926: XSQLDA *out; > should be replaced with > Line 2926: XSQLDA *out=NULL;
Thanks. This is now fixed in Git and will be included in the next release.