The attached patch mimics in configure.com what Configure does to enable
or disable this new feature, including defaulting to on for -Dusedevel
and off otherwise. When applied to bleadperl, no new failures show up
with the feature enabled. When applied to maint, no failures at all show
up with or without the feature enabled.

--- configure.com;-0    Wed Feb 18 06:37:22 2004
+++ configure.com       Thu Mar 25 17:30:39 2004
@@ -880,7 +880,7 @@
 $   config_symbols1 
="|installprivlib|installscript|installsitearch|installsitelib|most|oldarchlib|oldarchlibexp|osname|pager|perl_symbol|perl_verb|"
 $   config_symbols2 
="|prefix|privlib|privlibexp|scriptdir|sitearch|sitearchexp|sitebin|sitelib|sitelib_stem|sitelibexp|try_cxx|use64bitall|use64bitint|"
 $   config_symbols3 
="|usecasesensitive|usedefaulttypes|usedevel|useieee|useithreads|usemultiplicity|usemymalloc|usedebugging_perl|useperlio|usesecurelog|"
-$   config_symbols4 ="|usethreads|usevmsdebug|usefaststdio|"
+$   config_symbols4 ="|usethreads|usevmsdebug|usefaststdio|usemallocwrap|"
 $!  
 $   open/read CONFIG 'config_sh'
 $   rd_conf_loop:
@@ -2507,6 +2507,23 @@
 $ usedefaulttypes = "undef"
 $ if (d_alwdeftype) then usedefaulttypes = "define"
 $!
+$! determine whether to use malloc wrapping
+$ echo ""
+$ IF .NOT. usedevel .AND. usedevel .NES. "define"
+$ THEN bool_dflt = "n"
+$ ELSE bool_dflt = "y"
+$ ENDIF
+$ IF F$TYPE(usemymalloc) .nes. ""
+$ then
+$   if usemallocwrap .or. usemallocwrap .eqs. "define" then bool_dflt = "y"
+$ endif
+$ rp = "Do you wish to wrap malloc calls to protect against potential overflows? 
[''bool_dflt'] "
+$ GOSUB myread
+$ IF ans
+$ THEN usemallocwrap = "define"
+$ ELSE usemallocwrap = "undef"
+$ ENDIF
+$!
 $! Ask if they want to use perl's memory allocator
 $ echo ""
 $ echo "Perl has a built-in memory allocator that is tuned for normal"
@@ -5766,6 +5783,7 @@
 $ WC "mab='" + "'"
 $ WC "make='" + make + "'"
 $ WC "malloctype='void *'"
+$ WC "usemallocwrap='" + usemallocwrap + "'"
 $ WC "man1ext='rno'"
 $ WC "man3ext='rno'"
 $ WC "mmaptype='void *'"

Reply via email to