From 9d9ba49b4b6f83d39eda0724ca1349059aff8a98 Mon Sep 17 00:00:00 2001
From: Junwang Zhao <zhjwpku@gmail.com>
Date: Mon, 25 Jul 2022 19:27:34 +0800
Subject: [PATCH v1] strengthen backup history filename check

Signed-off-by: Junwang Zhao <zhjwpku@gmail.com>
---
 src/include/access/xlog_internal.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/include/access/xlog_internal.h b/src/include/access/xlog_internal.h
index 44291b337b..be49aa87ea 100644
--- a/src/include/access/xlog_internal.h
+++ b/src/include/access/xlog_internal.h
@@ -252,9 +252,10 @@ BackupHistoryFileName(char *fname, TimeLineID tli, XLogSegNo logSegNo, XLogRecPt
 static inline bool
 IsBackupHistoryFileName(const char *fname)
 {
-	return (strlen(fname) > XLOG_FNAME_LEN &&
+	return (strlen(fname) == XLOG_FNAME_LEN + 9 + strlen(".backup") &&
 			strspn(fname, "0123456789ABCDEF") == XLOG_FNAME_LEN &&
-			strcmp(fname + strlen(fname) - strlen(".backup"), ".backup") == 0);
+			strspn(fname + XLOG_FNAME_LEN + 1, "0123456789ABCDEF") == 8 &&
+			strcmp(fname + XLOG_FNAME_LEN + 9, ".backup") == 0);
 }
 
 static inline void
-- 
2.33.0

