pclsync/ppath.c: Move buff[4096] to function scope in ppath_home() so the pointer stored in dir via result->pw_dir remains live through the putil_strdup(dir) call. Previously buff went out of scope at the if-block close, causing a stack-use-after-scope ASAN report on every call that fell through the getpwuid_r path. tests/unit-tests/test_ptools_errptr.c: run_unfixed() intentionally leaks errPtr to demonstrate the pre-fix bug. Wrap the allocation with LSAN_DISABLE() / LSAN_ENABLE() so LSAN does not abort the process at exit before stdio flushes, which was causing a non-zero exit code. The guard uses nested #ifdef/__has_feature to remain compatible with both GCC (__SANITIZE_ADDRESS__) and Clang (__has_feature(address_sanitizer)) without triggering "missing binary operator" errors on GCC. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| test_pdbg_path.c | ||
| test_pfs_lock_ordering.c | ||
| test_pfstasks_db.c | ||
| test_pfstasks_tree.c | ||
| test_pintervaltree.c | ||
| test_prun.c | ||
| test_ptask_free.c | ||
| test_ptools_errptr.c | ||
| test_ptools_params.c | ||
| test_ptree.c | ||
| test_read_response.cpp | ||