libs: return from change_caps if no caps

When called without caps/privs, just return from "change_caps"
instead of exiting - it's possible that a process may not need
privs, but a lib (for example) may use the api.

Signed-off-by: Mark Stapp <mjs@cisco.com>
This commit is contained in:
Mark Stapp 2025-01-31 13:13:48 -05:00
parent de8f52b525
commit e13a4485bf

View File

@ -210,10 +210,11 @@ int zprivs_change_caps(zebra_privs_ops_t op)
{ {
cap_flag_value_t cflag; cap_flag_value_t cflag;
/* should be no possibility of being called without valid caps */ /* Called without valid caps - just return. Not every daemon needs
assert(zprivs_state.syscaps_p && zprivs_state.caps); * privs.
if (!(zprivs_state.syscaps_p && zprivs_state.caps)) */
exit(1); if (zprivs_state.syscaps_p == NULL || zprivs_state.caps == NULL)
return 0;
if (op == ZPRIVS_RAISE) if (op == ZPRIVS_RAISE)
cflag = CAP_SET; cflag = CAP_SET;