[Python-Dev] Re: [Python-checkins]python/dist/src/Objectsunicodeobject.c,2.139,2.140
M.-A. Lemburg
mal@lemburg.com
Mon, 22 Apr 2002 00:04:41 +0200
Tim Peters wrote:
>
> [Tim]
> >> ... behavior, I viewed the version Martin replaced as unacceptable.
>
> [M.-A. Lemburg]
> > Are you sure, you're talking about the latest version I checked in ?
>
> Calling the version Martin checked in N, I'm talking about versions N-3,
> N-2, and N-1. N-3 and N-2 were unacceptable because they wrote out of
> bounds. N-1 ("the version Martin replaced") was unacceptable because it
> still didn't assert that it wasn't writing out of bounds. I asked
> repeatedly in the bug reports opened against N-3 and N-2 that asserts be
> added. If that had been done in version N-2, at least Barry, Martin, you
> and I wouldn't have spent additional hours chasing down what turned out to
> be more out-of-bounds writes (a debug-build run would have triggered an
> assert directly in the flawed code).
Tim, I don't get it... why all the fuzz about some missing
asserts ?
> > I spent hours on this too and I'm pretty sure to have fixed the
> > buffer overruns now.
>
> You were pretty sure about N-2 too <wink/sigh>, and the more hours it takes
> to make tricky code correct, the more suspect that code is. As I most
> recently implored, in a comment on Barry's bug report against N-2:
>
> What I do care about is that there weren't (and
> still aren't) asserts *verifying* that this delicate code
> isn't spilling over the allocated bounds.
>
> About timing, last time we went around on this,
> the "measure once, cut once" version of the code was
> significantly slower in my timing tests too. I don't care
> so much if the code is tricky, but the trickier the code
> the more asserts are required.
>
> You checked in N-1 (and N-2) without responding to comments like that, and
> we're all paying for it. You realize asserts go away in the release build,
> right? They don't cost anything in production mode, they save our ass in
> debug mode.
I must have missed Barry post, sorry. I didn't leave out the
asserts for any reason -- just didn't think about using them.
> > ...
> > So, why not just add the assert to my original version ?
>
> I don't know why you didn't <wink>. Martin backed out version N, so we're
> back to N-1, except I see Martin added a crucial assert for you. I added
> some more since then.
Thanks.
--
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting: http://www.egenix.com/
Python Software: http://www.egenix.com/files/python/