Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Devel-PPPort CPAN distribution.

Report information
The Basics
Id: 35835
Status: resolved
Priority: 0/
Queue: Devel-PPPort

People
Owner: Nobody in particular
Requestors: CHOCOLATE [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in:
  • 3.11_02
  • 3.11_03
  • 3.11_04
  • 3.11_05
  • 3.11_06
  • 3.12
  • 3.13
Fixed in: 3.14



Subject: SvPV_flags_const_nolen segfaults prior to perl 5.8.8
SvPV_flags_const_nolen (introduced in 5.9.3) passes 0 as the lp length pointer argument that is supposed to be assigned the length of the string. This works after Change 24749 (included in 5.8.8), in which sv_2pv_flags is cleaned up to support a null pointer to indicate that the length need not be assigned/calculated, but prior to that lp is always dereferenced with segfaulty consequences. The same issue may apply to one or more of the following: SvPV_nolen SvPV_nolen_const SvPV_force_flags_nolen
Thanks for the detailed analysis. Each of these macros was covered by the test suite, but unfortunately none of them was actually triggering a call to sv_2pv_flags() or sv_pvn_force_flags(), as all test cases were using PVs. I've added more tests, and those actually revealed the bug. The problem should be fixed in Devel::PPPort 3.13_03: file: $CPAN/authors/id/M/MH/MHX/Devel-PPPort-3.13_03.tar.gz size: 168207 bytes md5: 5b55ee7d8275f37d25254606193204f3 Thanks, Marcus