Jemalloc SEGV for 1MB chunk
Christoph Mallon
christoph.mallon at gmx.de
Wed Jan 28 03:46:34 PST 2009
Channa schrieb:
> Hi All,
> I am using jemalloc.c source from FreeBSD-current source.
> When i allocate 1MB of memory using malloc() and use it as the below
> test shows
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
>
> int main()
> {
> int i;
> char *buf;
> size_t size = 1048576 ;
>
> buf = malloc(size);
> for (i = 0; i < 1048576; i++)
> buf[i] = 'a';
> printf("The length of buff is : %d\n",strlen(buf));
> free(buf);
> return 0;
> }
>
> When i try to call strlen(buf) SEGV is recived.
>
> This behaviour is seen when only for 1MB chunk if i allocate
> memory lesser than 1MB no issues noticed.
>
> Could anyone see similar problem?
> Is the above test wrong?
> Or some issue with huge memory allocation in jemalloc?
>
> Your response will be very helpful.
>
> Thanks & Regards,
> Channa
You did not NUL-terminate ('\0') the string.
More information about the freebsd-current
mailing list