pike.git / src / stralloc.c

version» Context lines:

pike.git/src/stralloc.c:1590:    size_t obytes = (size_t)(a->len+1) << a->size_shift;       if( size < a->len && size-a->len<(signed)sizeof(void*) )    goto done;       if( nbytes < sizeof(struct pike_string) )    {    if( a->alloc_type == STRING_ALLOC_BA )    goto done;    s = ba_alloc(&string_allocator); -  memcpy(s,a->str,nbytes); +  memcpy(s, a->str, MINIMUM(nbytes,obytes));    free_string_content(a);    a->alloc_type = STRING_ALLOC_BA;    }    else if( a->alloc_type == STRING_ALLOC_MALLOC)    {    s = xrealloc(a->str,nbytes);    }    else    {    s = xalloc(nbytes);