You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by li...@apache.org on 2023/06/12 21:26:45 UTC
[arrow-adbc] branch main updated: fix(c/driver/postgresql): Fix ASAN detected leaks (#768)
This is an automated email from the ASF dual-hosted git repository.
lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/main by this push:
new 9d1e3ea4 fix(c/driver/postgresql): Fix ASAN detected leaks (#768)
9d1e3ea4 is described below
commit 9d1e3ea44c18b7c277d0d5478d8ca85868530a57
Author: William Ayd <wi...@icloud.com>
AuthorDate: Mon Jun 12 14:26:40 2023 -0700
fix(c/driver/postgresql): Fix ASAN detected leaks (#768)
---
c/driver/postgresql/postgresql_test.cc | 3 +++
c/driver/postgresql/statement.cc | 2 ++
2 files changed, 5 insertions(+)
diff --git a/c/driver/postgresql/postgresql_test.cc b/c/driver/postgresql/postgresql_test.cc
index 163f61f1..18ecaedf 100644
--- a/c/driver/postgresql/postgresql_test.cc
+++ b/c/driver/postgresql/postgresql_test.cc
@@ -286,6 +286,7 @@ TEST_F(PostgresConnectionTest, GetObjectsGetAllFindsPrimaryKey) {
ASSERT_NO_FATAL_FAILURE(reader.Next());
ASSERT_EQ(reader.array->release, nullptr);
}
+ ASSERT_THAT(AdbcStatementRelease(&statement, &error), IsOkStatus(&error));
adbc_validation::StreamReader reader;
ASSERT_THAT(
@@ -433,6 +434,7 @@ TEST_F(PostgresConnectionTest, GetObjectsGetAllFindsForeignKey) {
ASSERT_NO_FATAL_FAILURE(reader.Next());
ASSERT_EQ(reader.array->release, nullptr);
}
+ ASSERT_THAT(AdbcStatementRelease(&statement, &error), IsOkStatus(&error));
ASSERT_THAT(AdbcStatementNew(&connection, &statement, &error), IsOkStatus(&error));
{
@@ -451,6 +453,7 @@ TEST_F(PostgresConnectionTest, GetObjectsGetAllFindsForeignKey) {
ASSERT_NO_FATAL_FAILURE(reader.Next());
ASSERT_EQ(reader.array->release, nullptr);
}
+ ASSERT_THAT(AdbcStatementRelease(&statement, &error), IsOkStatus(&error));
adbc_validation::StreamReader reader;
ASSERT_THAT(
diff --git a/c/driver/postgresql/statement.cc b/c/driver/postgresql/statement.cc
index b91d2fe5..87431304 100644
--- a/c/driver/postgresql/statement.cc
+++ b/c/driver/postgresql/statement.cc
@@ -442,6 +442,8 @@ int TupleReader::GetNext(struct ArrowArray* out) {
}
void TupleReader::Release() {
+ StringBuilderReset(&error_builder_);
+
if (result_) {
PQclear(result_);
result_ = nullptr;