https://bz.apache.org/bugzilla/show_bug.cgi?id=63900

--- Comment #6 from [email protected] ---
(In reply to Christophe JAILLET from comment #4)
> (In reply to legendt from comment #2)
> > But I would suggest tp preserve APR_ENOTIMPL rather than to translate it to
> > APR_SUCCESS to represent the default behavior. If more error codes have been
> > implemented in the ap_run_mpm_query function, simply ignoring such errors
> > can be potentially harmful.
> 
> There is no reason to have other error code returned by an
> 'ap_hook_mpm_query' hook function.
> These functions are just there to tell if something is supported by the MPM
> or not.
> 
> If it is so puzzling, the 'status = APR_SUCCESS;' could be removed.
> 'status' is not used anywhere below, before it is overridden by another
> (real) error code.
> 
> 
> (In reply to legendt from comment #3)
> > Though they return in rv, but some do return APR_EGENERAL.
> > 
> > For example, the ap_mpm_query does not preserve APR_ENOTIMP. It does return
> > APR_EGENERAL. So what you said cannot hold.
> 
> 'ap_hook_mpm_query' hook functions never return DECLINED. So APR_EGENERAL
> will never be returned by 'ap_mpm_query()'.
> And even if one did, there would be much more trouble somewhere else.
> 
> 
> > if (status != APR_SUCCESS && status != APR_EGENERAL) {
> Your proposal is just over-engineering something that looks safe, just in
> order to please a static analyzer.
> 
> 
> As said, IMHO, the only thing that could go in your direction (and would
> align with what is done in 'http_post_config()') would be to remove the
> 'status = APR_SUCCESS;'. It is useless.

I understand what you have mentioned now. The line `status = ap_mpm_query` in
this context can never return the APR_EGENERAL error, so the check is totally
useless.

Our analyzers do make the assumption about the original status, which can be
APR_EGENERAL. And there could be a possible status conversion violation.

If the status conversion is redundant, your proposal looks good to me. I have
attached the corresponding patch.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to