Subject: | null byte in key fails on get.. |
Date: | Mon, 11 Jul 2011 20:06:11 -0500 |
To: | bug-CDB-TinyCDB [...] rt.cpan.org |
From: | Erin Phillips <ep1 [...] iastate.edu> |
When using a binary key, either created through pack or UUID->create, the
'PUT_ADD' operation succeeds, but the 'GET' operation fails. The following
script recreates the error.
$cdb = CDB::TinyCDB->create("/tmp/t1.cdb","/tmp/t1.cdb.$$");
bless(do{\(my $o = 43_247_696)}, "CDB::TinyCDB")
$k=pack("L4",0,1,2,3)
^@^@^@^@^@^@^@^@^@^@^@^@^@
$cdb->put_add($k,'this');
1
$cdb->finish();
$cdb = CDB::TinyCDB->open('/tmp/t1.cdb');
bless(do{\(my $o = 43_258_800)}, "CDB::TinyCDB")
$cdb->get($k); (( RETURNS NOTHING ))
$k
^@^@^@^@^@^@^@^@^@^@^@^@^@
length($k)
16
$ cdb -d /tmp/t1.cdb
+16,4:->this