From 5f648cf4bb02c92bbb75babf7b6aaa02e25a524f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Thu, 17 Feb 2000 19:38:40 -0800 Subject: [PATCH] ok, it should be fixed now... Rev: src/modules/Perl/perlmod.c:1.11 --- src/modules/Perl/perlmod.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/modules/Perl/perlmod.c b/src/modules/Perl/perlmod.c index cc180c37a7..6559f48c4f 100644 --- a/src/modules/Perl/perlmod.c +++ b/src/modules/Perl/perlmod.c @@ -171,7 +171,7 @@ static void perlmod_create(INT32 args) env_block_size+=k->ind.u.string->len+k->val.u.string->len+2; THIS->env_block=xalloc(env_block_size); - THIS->env=(char **)xalloc(m_sizeof(env_mapping)+1); + THIS->env=(char **)xalloc(sizeof(char *)*(m_sizeof(env_mapping)+1)); env_blockp=THIS->env_block; d=0; @@ -205,7 +205,7 @@ static void perlmod_create(INT32 args) env_block_size+=strlen(environ[d])+1; THIS->env_block=xalloc(env_block_size); - THIS->env=(char **)xalloc(d+1); + THIS->env=(char **)xalloc(sizeof(char *)*(d+1)); env_blockp=THIS->env_block; @@ -216,6 +216,12 @@ static void perlmod_create(INT32 args) MEMCPY(env_blockp,environ[d],l+1); env_blockp+=l+1; } + +#ifdef PIKE_DEBUG + if(env_blockp - THIS->env_block > env_block_size) + fatal("Arglebargle glop-glyf.\n"); +#endif + THIS->env[d]=0; } -- GitLab