Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jan 2009 12:46:31 +0100
From:      Christoph Mallon <christoph.mallon@gmx.de>
To:        Channa <channa.kad@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Jemalloc SEGV for 1MB chunk
Message-ID:  <49804597.6040303@gmx.de>
In-Reply-To: <515c64960901280339m17fa9309v2e1bc3f55454ab@mail.gmail.com>
References:  <515c64960901280339m17fa9309v2e1bc3f55454ab@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49804597.6040303>