On Fri, 10 Dec 2010 10:48:28 -0200
Iván Briano (Sachiel) <sachi...@gmail.com> wrote:

> 2010/12/10 Mike Blumenkrantz <m...@zentific.com>:
> > On Fri, 10 Dec 2010 10:25:40 -0200
> > Iván Briano (Sachiel) <sachi...@gmail.com> wrote:
> >
> >> 2010/12/10 Mike Blumenkrantz <m...@zentific.com>:
> >> > On Fri, 10 Dec 2010 10:00:05 -0200
> >> > Iván Briano (Sachiel) <sachi...@gmail.com> wrote:
> >> >
> >> >> 2010/12/10 Mike Blumenkrantz <m...@zentific.com>:
> >> >> > On Fri, 10 Dec 2010 09:42:53 -0200
> >> >> > Iván Briano (Sachiel) <sachi...@gmail.com> wrote:
> >> >> >
> >> >> >> 2010/12/9 Enlightenment SVN <no-re...@enlightenment.org>:
> >> >> >> > Log:
> >> >> >> > this error fix is dedicated to Tommy[D] for continuing to prove
> >> >> >> > that the impossible can still be possible on his system
> >> >> >> >
> >> >> >> >
> >> >> >> > Author:       discomfitor
> >> >> >> > Date:         2010-12-09 13:02:53 -0800 (Thu, 09 Dec 2010)
> >> >> >> > New Revision: 55432
> >> >> >> > Trac:         http://trac.enlightenment.org/e/changeset/55432
> >> >> >> >
> >> >> >> > Modified:
> >> >> >> >  trunk/ecore/src/lib/ecore_con/ecore_con.c
> >> >> >> >
> >> >> >> > Modified: trunk/ecore/src/lib/ecore_con/ecore_con.c
> >> >> >> > ===================================================================
> >> >> >> > --- trunk/ecore/src/lib/ecore_con/ecore_con.c   2010-12-09 18:39:08
> >> >> >> > UTC (rev 55431) +++ trunk/ecore/src/lib/ecore_con/ecore_con.c
> >> >> >> > 2010-12-09 21:02:53 UTC (rev 55432) @@ -2231,15 +2231,17 @@
> >> >> >> >    if (!svr->write_buf)
> >> >> >> >      return;
> >> >> >> >
> >> >> >> > +   num = svr->write_buf_size - svr->write_buf_offset;
> >> >> >> > +
> >> >> >> >    /* check whether we need to write anything at all.
> >> >> >> >     * we must not write zero bytes with SSL_write() since it
> >> >> >> >     * causes undefined behaviour
> >> >> >> >     */
> >> >> >> > -   if (svr->write_buf_size == svr->write_buf_offset)
> >> >> >> > -     return;
> >> >> >> > +   /* we thank Tommy[D] for needing to check negative buffer sizes
> >> >> >> > +    * here because his system is amazing.
> >> >> >> > +    */
> >> >> >> > +   if (num <= 0) return;
> >> >> >> >
> >> >> >>
> >> >> >> How can you get to that point without something else screwing up
> >> >> >> before? It looks like you wrote more than you had in your buffer.
> >> >> >>
> >> >> >> > -   num = svr->write_buf_size - svr->write_buf_offset;
> >> >> >> > -
> >> >> >> >    if (svr->handshaking)
> >> >> >> >      {
> >> >> >> >         DBG("Continuing ssl handshake");
> >> >> >> >
> >> >> >> >
> >> >> >> > ------------------------------------------------------------------------------
> >> >> >> > _______________________________________________
> >> >> >> > enlightenment-svn mailing list
> >> >> >> > enlightenment-...@lists.sourceforge.net
> >> >> >> > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
> >> >> >> >
> >> >> >>
> >> >> >> ------------------------------------------------------------------------------
> >> >> >> _______________________________________________
> >> >> >> enlightenment-devel mailing list
> >> >> >> enlightenment-devel@lists.sourceforge.net
> >> >> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >> >> > I honestly have no idea, but apparently Tommy[D] is able to do it
> >> >> > using the mail (I think?) module.  The only way that it's possible is
> >> >> > if ecore_con screws up internally, and as far as I can tell that
> >> >> > doesn't seem possible either.
> >> >> >
> >> >>
> >> >> But it's happening. Maybe some wrong pointer arithmetic that
> >> >> doesn't properly take into account 64bits sizes?
> >> > This member is just a simple int though, pointer math shouldn't matter.
> >> >>
> >>
> >> But how you account for written stuff could. I didn't check that code,
> >> but it does look like something else is wrong if you a negative count.
> >>
> >> >> > --
> >> >> > Mike Blumenkrantz
> >> >> > Zentific: We run the three-legged race individually.
> >> >> >
> >> >
> >> >
> >> > --
> >> > Mike Blumenkrantz
> >> > Zentific: We run the three-legged race individually.
> >> >
> > All it does is subtract the current offset from the total length.  The
> > problem is when the difference is negative.  No clue how that can happen
> > though.
> >
> 
> The offset being larger than the full length is one way. How can that happen?
> I guess that successfully writing more than needed (some math error somewhere
> else) or a wrong error checking done that ends up increasing the current
> offset more than it should.
> Or something is taking a dump over someone else's memory and nothing makes
> sense anymore.
> 
> > --
> > Mike Blumenkrantz
> > Zentific: We run the three-legged race individually.
> >
I blame cedric.

-- 
Mike Blumenkrantz
Zentific: We run the three-legged race individually.

------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to