From e684ab5e1ec900bb7b73fb6f8a655e0ec54b3720 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 14 Mar 2012 22:41:50 +0200 Subject: [PATCH] Add additional safety check against invalid backup label file It was already checking for invalid data after "BACKUP FROM", but would possibly crash if "BACKUP FROM" was missing altogether. found by Coverity --- src/backend/access/transam/xlog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 18fc23286a..ff7f521a1b 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -9481,7 +9481,7 @@ do_pg_stop_backup(char *labelfile, bool waitforarchive) * during the backup. */ ptr = strstr(remaining, "BACKUP FROM:"); - if (sscanf(ptr, "BACKUP FROM: %19s\n", backupfrom) != 1) + if (!ptr || sscanf(ptr, "BACKUP FROM: %19s\n", backupfrom) != 1) ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("invalid data in file \"%s\"", BACKUP_LABEL_FILE)));