3 ms·
In the CR tool I assume it may have looked more like this: if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail;
by stormbrew 13y ago
In the CR tool I assume it may have looked more like this:
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
- if ((err = SSLHashSHA1.update(&hashCtx, &somethingElse)) != 0)
goto fail;
if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
goto fail;
Which is a little harder to see. Obviously you should always look at it in a side-by-side view (god I wish github would implement this) or at the resulting code, but people are imperfect.
- oneeyedpigeon 13y agoDamn fine point. I really don't think we can conclude this is malice; do all of our own bugs always turn out to be really tricky to spot? Do we never make utterly ridiculous mistakes along these lines?
- nickls 13y agoDoesn't look like any (major) modification to surrounding lines. if ((err = ReadyHash(&SSLHashSHA1, &hashCtx, ctx)) != 0) goto fail; changes to: if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0) goto fail; See: http://www.diffnow.com/?report=ob51k http://www.diffnow.com/?report=ob51k Diff35
- pmjordan 13y agoWe only see the diff between released versions, not intermediate commits. For all we know, Apple developers use a single-pane diff tool, where such bugs are easy to miss.
- wreegab 13y agoExcept that I don't think this was the original code considering it appears to be cut and paste of same code in same file. I commented on this: https://news.ycombinator.com/item?id=7286582 https://news.ycombinator.com/item?id=7286582