Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Dr Nick <3-nospam@temporary-address.org.uk> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Memory leaking in memmove |
| Date | 2011-12-28 12:21 +0000 |
| Message-ID | <87vcp0ga4w.fsf@temporary-address.org.uk> (permalink) |
| References | <15848343.42.1325064299310.JavaMail.geo-discussion-forums@prdv33> <MPG.29649112ea89c5de989680@news.eternal-september.org> <31200333.963.1325073432055.JavaMail.geo-discussion-forums@prez15> |
ArifulHossain tuhin <etothepowerpi@gmail.com> writes:
> On Wednesday, December 28, 2011 4:36:37 PM UTC+6, Philip Lantz wrote:
>> ArifulHossain tuhin wrote:
>> > My application is leaking memory in a memmove call. I have made it
>> > sure from coredumps.
>> I don't think you mean "leaking memory". That term specifically refers
>> to not freeing memory that was allocated. I'm guessing you mean that
>> your program is overwriting memory that it shouldn't.
>>
>> > the offending code snippet reads as follows:
>> > unsigned char pad_len;
>> > pad_len = (unsigned char)((random() % RANSTOP ) + RANSTART);
>> > if(pad_len%30 == 0)
>> > pad_len = 9;
>> > if(packet->size > 0){
>> > memmove(packet->data.buf + pad_len, packet->data.buf, packet->size);
>> > packet->size += pad_len;
>> > packet->data.buf[0] = pad_len;
>> > for(j=1; j< pad_len; j++)
>> > packet->data.buf[j] = (char)256%j;
>> > EnDeCrypt(packet->data.buf, packet->size, key, KEYLEN);
>> > }
>> >
>> > As the data.buf is statically allocated, valgrind does not complain
>> > anything about it.
>> > Is it running out of memory? or any other problem?
>> > Any suggestion?
>>
>>
>> There is no dynamic memory allocation in the fragment you have shown us,
>> so it can't be running out of memory.
>>
>
> You are absolutely right. I guess i'm misinformed about terminologies. Thanks
>
>> Are you sure that packet->size + pad_len < sizeof packet->data.buf? That
>> check should probably be in the code, unless there are constraints on
>> the packet size that guarantee that it is always true.
>
> Packet size can be as high as 230 with pad_len. pad_len is unsigned char. so it should cover upto 256. sizeof(packet->data.buf) is 8 so it should not be a problem. Though i guess should put a checking into the code anyway.
How long is your actual packet buffer? - you say above that it's 8 but
you might be misunderstanding the question. If not, then you'll have
problems.
If at any time packet_size + pad_len is longer than the size of
packet->data.buf then you'll be scribbling on memory you don't own.
Can you show us the code that defines and sets packet->data.buf
As packet->data.buf must contain at least as many bytes as the maximum
length of pad_len, can you tell us what RANSTOP and RANSTART are
#define'd to?
It might be worth printing pad_len just before the memmove and seeing
what the value is when it blows up.
--
Online waterways route planner | http://canalplan.eu
Plan trips, see photos, check facilities | http://canalplan.org.uk
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Memory leaking in memmove ArifulHossain tuhin <etothepowerpi@gmail.com> - 2011-12-28 01:24 -0800
Re: Memory leaking in memmove Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-12-28 02:20 -0800
Re: Memory leaking in memmove ArifulHossain tuhin <etothepowerpi@gmail.com> - 2011-12-28 02:37 -0800
Re: Memory leaking in memmove Philip Lantz <prl@canterey.us> - 2011-12-28 02:42 -0800
Re: Memory leaking in memmove Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-12-28 03:36 -0800
Re: Memory leaking in memmove ArifulHossain tuhin <etothepowerpi@gmail.com> - 2011-12-28 03:50 -0800
Re: Memory leaking in memmove Seebs <usenet-nospam@seebs.net> - 2011-12-28 18:17 +0000
Re: Memory leaking in memmove Philip Lantz <prl@canterey.us> - 2011-12-28 02:36 -0800
Re: Memory leaking in memmove ArifulHossain tuhin <etothepowerpi@gmail.com> - 2011-12-28 03:57 -0800
Re: Memory leaking in memmove Dr Nick <3-nospam@temporary-address.org.uk> - 2011-12-28 12:21 +0000
Re: Memory leaking in memmove ArifulHossain tuhin <etothepowerpi@gmail.com> - 2011-12-28 04:26 -0800
Re: Memory leaking in memmove jt@toerring.de (Jens Thoms Toerring) - 2011-12-28 12:46 +0000
Re: Memory leaking in memmove ArifulHossain tuhin <etothepowerpi@gmail.com> - 2011-12-28 05:54 -0800
Re: Memory leaking in memmove Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-12-28 14:46 +0000
Re: Memory leaking in memmove Philip Lantz <prl@canterey.us> - 2011-12-28 12:20 -0800
Re: Memory leaking in memmove Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-12-28 21:50 +0000
Re: Memory leaking in memmove Barry Schwarz <schwarzb@dqel.com> - 2011-12-28 10:36 -0800
csiph-web