<span class="Apple-style-span" style="border-collapse:collapse;color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px"><div class="im" style="color:rgb(80,0,80)">Sat, Apr 21, 2012 at 8:13 AM, John Yani <span dir="ltr"><<a href="mailto:vanuan@gmail.com" target="_blank" style="color:rgb(17,85,204)">vanuan@gmail.com</a>></span> wrote:<br>
</div><div class="gmail_quote"><div class="im" style="color:rgb(80,0,80)"><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
2316            if (selector->relation() != CSSSelector::SubSelector)<br>2317                break;<br>2318            selector = selector->tagHistory();<br>2319        };<br><br>Now selector is null and we are trying to call tagHistory():<br>
</blockquote><div><br></div></div><div>This is not possible. If selector->relation() == CSSSelector::SubSelector then there will always be a subselector in tagHistory. </div><div> </div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im" style="color:rgb(80,0,80)">2321        for (selector = selector->tagHistory(); selector; selector =<br><br></div><div class="im" style="color:rgb(80,0,80)">Which will result in segfault.<br></div></blockquote>
<div><br></div><div>That would indicate a serious bug in CSS parser. The crash would allow us to catch and fix the bug. Now the bug is hidden. We have also lost some documentation (in form of code) on how our data structures look like. The only sensible change here would have been ASSERT(selector) for documentation purposes.</div>
<div><br></div><div>There is generally too much pointless drive-by refactoring going on in the project. I think we should take harder line against these "No new test / code cleanup only" type patches to reduce noise level.</div>
</div></span>