-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: Tiered Storage
-
None
-
Environment:GCC 13, Ubuntu 24.04, Valgrind
-
Storage Engines - Server Integration
-
104.455
-
None
-
1
During analyzing of the tiered storage configuration path, I observed that in the function
__wti_tiered_bucket_config (inside src/tiered/tiered_config.c), four heap strings are sequentially allocated.
If ss_customize_file_system fails (e.g. invalid bucket path, bad credentials) or another error is hit before the struct is fully registered, the code jumps to the err: label and I noticed that new->auth_token and new->cache_directory are not freed in the err: cleanup block.
My question is;
Is there a specific design reason or lifecycle guarantee for auth_token and cache_directory that requires them to persist or be cleaned up through a different path on initialization failure? Or was this an omission in the error path, and should they be freed alongside new->bucket and new->bucket_prefix?