aboutsummaryrefslogtreecommitdiff
path: root/src/include/common
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2024-04-09 09:07:14 -0400
committerAndrew Dunstan <andrew@dunslane.net>2024-04-12 10:32:30 -0400
commit661ab4e185784db79c194b5758555b1db3f30483 (patch)
treec5fdde1cecca9ea8440f5e8e2412741acc34d580 /src/include/common
parentb9ecefecc7aaad117e0255b56b759f524f0f4363 (diff)
downloadpostgresql-661ab4e185784db79c194b5758555b1db3f30483.tar.gz
postgresql-661ab4e185784db79c194b5758555b1db3f30483.zip
Fix some memory leaks associated with parsing json and manifests
Coverity complained about not freeing some memory associated with incrementally parsing backup manifests. To fix that, provide and use a new shutdown function for the JsonManifestParseIncrementalState object, in line with a suggestion from Tom Lane. While analysing the problem, I noticed a buglet in freeing memory for incremental json lexers. To fix that remove a bogus condition on freeing the memory allocated for them.
Diffstat (limited to 'src/include/common')
-rw-r--r--src/include/common/parse_manifest.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/common/parse_manifest.h b/src/include/common/parse_manifest.h
index 3aa594fcac7..0d04239c38d 100644
--- a/src/include/common/parse_manifest.h
+++ b/src/include/common/parse_manifest.h
@@ -53,5 +53,6 @@ extern JsonManifestParseIncrementalState *json_parse_manifest_incremental_init(J
extern void json_parse_manifest_incremental_chunk(
JsonManifestParseIncrementalState *incstate, char *chunk, int size,
bool is_last);
+extern void json_parse_manifest_incremental_shutdown(JsonManifestParseIncrementalState *incstate);
#endif