aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/misc/injection_point.c
diff options
context:
space:
mode:
authorNoah Misch <noah@leadboat.com>2024-08-22 00:07:04 -0700
committerNoah Misch <noah@leadboat.com>2024-08-22 00:07:04 -0700
commita36aa223ec447276bf7050ab9ec6d974cafdf6c4 (patch)
tree8e9f7885151c2d555283bb0fe135da37e11136f5 /src/backend/utils/misc/injection_point.c
parent04158e7fa37c2dda9c3421ca922d02807b86df19 (diff)
downloadpostgresql-a36aa223ec447276bf7050ab9ec6d974cafdf6c4.tar.gz
postgresql-a36aa223ec447276bf7050ab9ec6d974cafdf6c4.zip
Fix attach of a previously-detached injection point.
It's normal for the name in a free slot to match the new name. The max_inuse mechanism kept simple cases from reaching the problem. The problem could appear when index 0 was the previously-detached entry and index 1 is in use. Back-patch to v17, where this code first appeared.
Diffstat (limited to 'src/backend/utils/misc/injection_point.c')
-rw-r--r--src/backend/utils/misc/injection_point.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/backend/utils/misc/injection_point.c b/src/backend/utils/misc/injection_point.c
index 80bc32b0e08..7c1a7cf889d 100644
--- a/src/backend/utils/misc/injection_point.c
+++ b/src/backend/utils/misc/injection_point.c
@@ -315,8 +315,7 @@ InjectionPointAttach(const char *name,
if (free_idx == -1)
free_idx = idx;
}
-
- if (strcmp(entry->name, name) == 0)
+ else if (strcmp(entry->name, name) == 0)
elog(ERROR, "injection point \"%s\" already defined", name);
}
if (free_idx == -1)