pike.git / src / modules / Perl / perlmod.c

version» Context lines:

pike.git/src/modules/Perl/perlmod.c:164:    if(env_mapping)    {    INT32 d;    int env_block_size=0;    char *env_blockp;    struct keypair *k;    MAPPING_LOOP(env_mapping)    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;    MAPPING_LOOP(env_mapping)    {    THIS->env[d++]=env_blockp;    MEMCPY(env_blockp,k->ind.u.string->str,k->ind.u.string->len);    env_blockp+=k->ind.u.string->len;       *(env_blockp++)='=';
pike.git/src/modules/Perl/perlmod.c:198:    char *env_blockp;      #ifdef DECLARE_ENVIRON    extern char **environ;   #endif       for(d=0;environ[d];d++)    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;       for(d=0;environ[d];d++)    {    int l=strlen(environ[d]);    THIS->env[d]=env_blockp;    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;    }       THREADS_ALLOW();    mt_lock(&perl_running);    if(!storage->parsed)    {    perl_construct(p);    storage->parsed++;    }