Sorry, I actually forget to inform you that the packet header contain the
length of the payload data. I have a buffer event filter function which
returns BEV_OK after ensuring that event buffer contains data of atleast
length bytes excluding header length. Once the filter function return
BEV_OK , libevent is invoking my callback function inside which I do a
evbuffer_pullup passing lenght of the payload data as argument.
On Jul 26, 2017 7:36 PM, "Azat Khuzhin" <[email protected]> wrote:

> On Wed, Jul 26, 2017 at 5:00 PM, ravi chandran <[email protected]>
> wrote:
> > Hi,
> >      I am using using libevent 2.0.  Two applications are communicating
> each
> > other using unix stream sockets(named socket). In one of the application
> , i
> > am pulling up the data using evbuffer_pullup() from the received event
> > buffer. But i see corrupted data in it from certain offset onwards on the
> > received event buffer.
> > Each packet contain a header and a payload. The corruption is happened in
> > such a way that a packet data contains next packet header innformation
> > instead of actual data. This  issue is happening very rarely.
> >  I dont see sender application is sending the corrupted data.
> >
> > Can someone clarify whether any known issue exist in libevent in
> > evbuffer_pullup() or other dependant function which results in above data
>
> Hi,
>
> Looks like you are waiting that returned buffer from evbuffer_pullup()
> will be null-terminated, while this is not true, and you should use
> evbuffer_get_length() to know the length of the buffer.
> ***********************************************************************
> To unsubscribe, send an e-mail to [email protected] with
> unsubscribe libevent-users    in the body.
>

Reply via email to