3 ms·
Is that first snippet accurate? It makes it look as if it would never return a positive value. It returns only 0 or a negative value.
by tunesmith 13y ago
Is that first snippet accurate? It makes it look as if it would never return a positive value. It returns only 0 or a negative value.
- mpyne 13y agoIt's accurate, but the calling convention of the top-level function is such that any non-zero value is accepted as boolean true (i.e. a valid CA) and only a zero return value is understood as false. Because of this problem of returning the errno-style result code as a boolean-style result code, the cert being looked at would always verify as correct. That's why the fix simply added another label to clear the result variable (to be logically false) before running through the cleanup code and returning the result.
- setrofim_ 13y agoIt's accurate, but incomplete (it's a snippet not a complete quote -- note the // snip in there). If you look at the full commit linked in the post, there are code paths in the complete function that would make it return a 1.