From a414d96ad2b001cddf10e3dedb0bde96d0af6a0b Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Thu, 10 Mar 2016 21:37:22 -0500 Subject: [PATCH] Simplify GetLockNameFromTagType. The old code is wrong, because it returns a pointer to an automatic variable. And it's also more clever than we really need to be considering that the case it's worrying about should never happen. --- src/backend/storage/lmgr/lmgr.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/backend/storage/lmgr/lmgr.c b/src/backend/storage/lmgr/lmgr.c index 9d2663e2f9d..0632fc009e5 100644 --- a/src/backend/storage/lmgr/lmgr.c +++ b/src/backend/storage/lmgr/lmgr.c @@ -1003,17 +1003,7 @@ DescribeLockTag(StringInfo buf, const LOCKTAG *tag) const char * GetLockNameFromTagType(uint16 locktag_type) { - const char *locktypename; - char tnbuf[32]; - - if (locktag_type <= LOCKTAG_LAST_TYPE) - locktypename = LockTagTypeNames[locktag_type]; - else - { - snprintf(tnbuf, sizeof(tnbuf), "unknown %d", - (int) locktag_type); - locktypename = tnbuf; - } - - return locktypename; + if (locktag_type > LOCKTAG_LAST_TYPE) + return "???"; + return LockTagTypeNames[locktag_type]; }