Skip to content

Commit d96c616

Browse files
Merge pull request #385 from diffix/cristian/bugfix
More fixes to statement validation.
2 parents 973c5fd + 8a3c3b6 commit d96c616

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/auth.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,11 @@ static bool is_metadata_relation(Oid relation_oid)
9999
if (namespace_oid == PG_CATALOG_NAMESPACE)
100100
return true; /* PG_CATALOG relations are checked in `ExecutorCheckPerms` hook. */
101101

102-
if (strcmp(get_namespace_name(namespace_oid), "information_schema") == 0)
103-
return true; /* INFORMATION_SCHEMA relations are safe to query. */
102+
char *namespace_name = get_namespace_name(namespace_oid);
103+
bool result = strcmp(namespace_name, "information_schema") == 0; /* INFORMATION_SCHEMA relations are safe to query. */
104+
pfree(namespace_name);
104105

105-
return false;
106+
return result;
106107
}
107108

108109
bool is_personal_relation(Oid relation_oid)

src/query/validation.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ void verify_utility_command(Node *utility_stmt)
5353
case T_DeclareCursorStmt:
5454
case T_DeallocateStmt:
5555
case T_FetchStmt:
56+
case T_ClosePortalStmt:
5657
break;
5758
default:
5859
FAILWITH("Statement requires direct access level.");

0 commit comments

Comments
 (0)