On Fri, Mar 18, 2016 at 5:21 PM, Paolo Bonzini <pbonz...@redhat.com> wrote:
> > > On 18/03/2016 12:24, Pooja Dhannawat wrote: > > > > > > On Fri, Mar 18, 2016 at 4:20 AM, Paolo Bonzini <pbonz...@redhat.com > > <mailto:pbonz...@redhat.com>> wrote: > > > > > > > > On 17/03/2016 16:31, Pooja Dhannawat wrote: > > > > > > > > > On Thu, Mar 17, 2016 at 8:20 PM, Stefan Hajnoczi < > stefa...@gmail.com <mailto:stefa...@gmail.com> > > > <mailto:stefa...@gmail.com <mailto:stefa...@gmail.com>>> wrote: > > > > > > On Tue, Mar 15, 2016 at 09:29:58PM +0530, Pooja Dhannawat > wrote: > > > > @@ -170,8 +170,8 @@ static void net_socket_send(void *opaque) > > > > s->index = 0; > > > > s->packet_len = 0; > > > > s->nc.link_down = true; > > > > - memset(s->buf, 0, sizeof(s->buf)); > > > > > > This change is unrelated to allocating buf1 on the heap. What > is the > > > purpose of this line? > > > > > > > > > I moved buf from stack to Heap, used g_new(), but I got your point > if we > > > need to initialize it with 0 then I have to keep that one. > > > > > > Other wise doing so it gets whatever garbage it has already. > > > > This is s->buf, not buf. Also, the BiteSizedTasks page says "Make > the > > stack array smaller and allocate on the heap in the rare case that > the > > data does not fit in the small array". > > > > So here, should I check with stack consumption(size of array) and if it > > is greater than accepted level, then only keep on heap? > > If it is greater than the accepted level, the on-stack buffer is not > used and you allocate one that has the right size on the heap. > Yes Okay. Thank you for the comments. I had one more question. size = qemu_recv(s->fd, buf1, sizeof(buf1), 0); The one above returns bytes read into buf1 (if large then bytes equivalent to len(buf1) is read) ? If true, size is the correct measure of buf1? Hence, I should compare the allowed stack size to "size" variable? > > Paolo > > > If no, Can you please help me with this one? > > > > Paolo > > > > > > -- Regards, Jaya