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.
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.