94,95d93
< #define DEBUGME
<
447d444
< TRACEME(("** extending kbuf to %u bytes (had %u)", (unsigned int)x+1, ksiz)); \
896d892
< TRACEME(("1 RLEN x=%u", (unsigned int) x)); \
898,899c894
< TRACEME(("2 RLEN x=%u", (unsigned int) x)); \
< if (!cxt->fio) { \
---
> if (!cxt->fio) \
901,902d895
< TRACEME(("3 RLEN x=%u", (unsigned int) x)); \
< } \
905d897
< TRACEME(("4 RLEN x=%u", (unsigned int) x)); \
908d899
< TRACEME(("5 RLEN x=%u", (unsigned int) x)); \
4815d4805
< if ( (unsigned)size > 1000000 ) Perl_croak(aTHX_ "Bugger!\n");
####
4 RLEN x=6
5 RLEN x=6
(#0) key 'latest'
(#1) value
retrieve
retrieve type = 8
retrieve_byte (#244)
small integer read as 131
aseen(#244) = 0x80fb63c (refcnt=1)
byte 3
ok (retrieve_byte at 0x80fb63c)
ok (retrieved 0x80fb63c, refcnt=1, SCALAR)
1 RLEN x=6
2 RLEN x=6
4 RLEN x=5
5 RLEN x=5
(#1) key 'count'
(#2) value
retrieve
retrieve type = 5
retrieve_undef
aseen(#245) = 0x80fb648 (refcnt=1)
ok (retrieved 0x80fb648, refcnt=1, SCALAR)
1 RLEN x=5
2 RLEN x=5
4 RLEN x=5
5 RLEN x=5
(#2) key 'first'
ok (retrieve_hash at 0x80fb624)
ok (retrieved 0x80fb624, refcnt=1, HASH)
ok (retrieve_ref at 0x80fb618)
ok (retrieved 0x80fb618, refcnt=1, REF)
1 RLEN x=2
2 RLEN x=2
4 RLEN x=7
5 RLEN x=7
(#8) key 'session'
(#9) value
retrieve
retrieve type = 6
retrieve_integer (#246)
aseen(#246) = 0x80fb654 (refcnt=1)
integer 1769174005
ok (retrieve_integer at 0x80fb654)
ok (retrieved 0x80fb654, refcnt=1, SCALAR)
1 RLEN x=7
2 RLEN x=7
4 RLEN x=4110839407
5 RLEN x=4110839407
Bugger!, at ./test.pl line 4
####
00000FE0: 05 00 00 00 63 6F 75 6E 74 05 05 00 00 00 66 69 ....count.....fi
00000FF0: 72 73 74 07 00 00 00 73 65 73 73 69 6F 6E 06 F5 rst....session..
s e s s i o^ n^ ^ ^
00001000: 73 73 69 6F 6E 06 F5 00 00 00 0D 00 00 00 73 65 ssion.........se
s s i o n ^ ^
00001010: 73 73 69 6F 6E 5F 63 6F 75 6E 74 0A 01 4C 04 00 ssion_count..L..
NOTE >>>>> Offset of the error is 4096 bytes.
####
RLEN(size); /* Get key size */
+ if ( (unsigned)size > 1000000 ) Perl_croak(aTHX_ "Bugger!\n");
KBUFCHK((STRLEN)size); /* Grow hash key read pool if needed */
####
store \%profile, $file;
eval{ retrieve($file) };
if ( $@ ) {
require Data::Dumper;
warn "\n\n\nStorable Choked\n\n\n";
warn Data::Dumper::Dumper(\%profile);
print "Content-Type: text/html\n\nBugger!\n"; # ;-)
exit 1;
}