waldump: fix use-after-free in search_directory().

Andres Freund <andres@anarazel.de>

Commit: 264d284929e0d5a419821f94f16f766b5497c87a
Author: Andres Freund <andres@anarazel.de>
Date: 2022-03-28T01:13:50Z
Releases: 15.0
waldump: fix use-after-free in search_directory().

After closedir() dirent->d_name is not valid anymore. As there alerady are a
few places relying on the limited lifetime of pg_waldump, do so here as well,
and just pg_strdup() the string.

The bug was introduced in fc49e24fa69a.

Found by UBSan, run locally.

Backpatch: 11-, like fc49e24fa69 itself.

Files

PathChange+/−
src/bin/pg_waldump/pg_waldump.c modified +1 −1