File tree Expand file tree Collapse file tree
include/config/dynamic_admin_api
src/config/dynamic_admin_api Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1818 */
1919void kg_config_dynamic_admin_api_defaults_load (void );
2020
21+ /**
22+ * @brief Releases persistent config strings owned by dynamic admin callbacks.
23+ */
24+ void kg_config_dynamic_admin_api_defaults_release (void );
25+
2126#endif /* KING_CONFIG_DYNAMIC_ADMIN_API_DEFAULT_H */
Original file line number Diff line number Diff line change 1414#include "config/dynamic_admin_api/default.h"
1515#include "config/dynamic_admin_api/base_layer.h"
1616
17+ static void dynamic_admin_api_release_owned_string (char * * value )
18+ {
19+ if (* value != NULL ) {
20+ pefree (* value , 1 );
21+ * value = NULL ;
22+ }
23+ }
24+
1725void kg_config_dynamic_admin_api_defaults_load (void )
1826{
1927 king_dynamic_admin_api_config .bind_host = NULL ;
@@ -23,3 +31,18 @@ void kg_config_dynamic_admin_api_defaults_load(void)
2331 king_dynamic_admin_api_config .cert_file = NULL ;
2432 king_dynamic_admin_api_config .key_file = NULL ;
2533}
34+
35+ void kg_config_dynamic_admin_api_defaults_release (void )
36+ {
37+ /*
38+ * bind_host is managed by the engine's STD_PHP_INI_ENTRY storage.
39+ * The remaining string fields are persistent copies created by the
40+ * dynamic-admin-api INI callbacks in this config family.
41+ */
42+ king_dynamic_admin_api_config .bind_host = NULL ;
43+ king_dynamic_admin_api_config .port = 2019 ;
44+ dynamic_admin_api_release_owned_string (& king_dynamic_admin_api_config .auth_mode );
45+ dynamic_admin_api_release_owned_string (& king_dynamic_admin_api_config .ca_file );
46+ dynamic_admin_api_release_owned_string (& king_dynamic_admin_api_config .cert_file );
47+ dynamic_admin_api_release_owned_string (& king_dynamic_admin_api_config .key_file );
48+ }
Original file line number Diff line number Diff line change @@ -23,4 +23,5 @@ void kg_config_dynamic_admin_api_init(void)
2323void kg_config_dynamic_admin_api_shutdown (void )
2424{
2525 kg_config_dynamic_admin_api_ini_unregister ();
26+ kg_config_dynamic_admin_api_defaults_release ();
2627}
You can’t perform that action at this time.
0 commit comments