In the module PP_SYS, routine Perl_pp_open, the pointer *tmps is being declared const and initialized with tmps = SvPV_const(sv, len).

This routine then calls Perl_do_openn() which may modify the string, thus causing data corruption according the how the data is declared.

A cast has been installed on the call to override the compiler diagnosing the potential data corruption.

Either the routine Perl_pp_open needs to be modified so that the *tmps is not a const pointer, or a copy of the string must be made either before the call to Perl_do_openn() or by the Perl_do_openn routine so that the *name parameter can be declared const.

I do not know what is the preferred fix, so I am going with the simplest one to get my build working. I am going to modify Perl_pp_openn to remove the const qualifier that the compiler should be complaining about.

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to