4 ms·
I haven't given this more than a cursory look, but I love how the body message for the commit that seemingly introduced this flaw is "No functional changes.": h
by avar 14y ago
I haven't given this more than a cursory look, but I love how the body message for the commit that seemingly introduced this flaw is "No functional changes.": https://github.com/git-mirror/nginx/commit/8a3f6ce https://github.com/git-mirror/nginx/commit/8a3f6ce
Found with:
git log --full-diff --reverse release-1.3.8.. -p src/http/ngx_http_parse.c
- tptacek 14y agoThe change pulls chunked encoding parsing from the proxy to the core, but doesn't introduce new functionality. Also, are you sure this change introduces the flaw? It looks like it could have been there before the refactor, as well.
- wulczer 14y agoSeems so, the code in question appears to have been added here: https://github.com/git-mirror/nginx/commit/7c7ad803a13d5f73b282e5a661ede3dcf9fc4aa1 https://github.com/git-mirror/nginx/commit/7c7ad803a13d5f73b...
- alcuadrado 14y agoMaybe I'm getting it wrong, but this comment seems so arrogant.. and with ngninx, that has one of the cleanest code bases of open source software actually used by many people :s
- zzzcpan 14y agoIt doesn't look arrogant to me. And it doesn't matter how clean the code looks like if it uses trillions of mutable states, lots of inconsistent interfaces, occasional pointer arithmetics, manual memory management, gotos all over the place and no module tests whatsoever. I'd say nginx is a pretty error prone piece of software, just like most of the software written in C.
- nkozyra 14y agoWait, "most of the software written in C" is "pretty error prone?" That's a pretty big statement right there.
- ihaveajob 14y agoIMO, "most of the software written in any language" would be a good fit for that sentence.
- paraboul 14y agoSorry but that's a really stupid comment. You are just saying that C is not clean. (IMHO) nginx code-base is doing a really good job dealing with micro-optimization. >code looks like if it uses trillions of mutable state Actually, that's a very good approach. e.g. : nginx parser get optimized out as a big jump table (http://en.wikipedia.org/wiki/Branch_table http://en.wikipedia.org/wiki/Branch_table)
- zzzcpan 14y agoI didn't mean nginx parser and state machines in general as mutable states, but rather state changes in variables across multiple functions and files. They are impossible to keep track of and nginx is full of them.
- aw3c2 14y agoTo me "no functional changes" just means that the commit does not mean to introduce/change any functionality, for example if you refactor code or clean up.
- rdtsc 14y ago* Has functional change + introduces bugs * No functional changes + introduces bugs * Has functional changes + doesn't introduce bugs * No functional changes + doesn't introduce bugs Also I haven't seen too many commit that say "this introduces 5 new accidental bugs into the system". Just saying, not sure what ou are criticizing here