diff --git a/doc/src/sgml/ref/pg_basebackup.sgml b/doc/src/sgml/ref/pg_basebackup.sgml
index 5754ad5aa6..03f31b2879 100644
--- a/doc/src/sgml/ref/pg_basebackup.sgml
+++ b/doc/src/sgml/ref/pg_basebackup.sgml
@@ -161,6 +161,7 @@ PostgreSQL documentation
tablespaces, the main data directory will be placed in the
target directory, but all other tablespaces will be placed
in the same absolute path as they have on the source server.
+ (See to change that.)
This is the default format.
@@ -241,7 +242,12 @@ PostgreSQL documentation
the main data directory are updated to point to the new location. So
the new data directory is ready to be used for a new server instance
with all tablespaces in the updated locations.
-
+
+
+
+ Currently, this option only works with plain output format; it is
+ ignored if tar format is selected.
+
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 7daa7c43ad..91e99d059f 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -11718,7 +11718,7 @@ read_tablespace_map(List **tablespaces)
}
else if ((ch == '\n' || ch == '\r') && prev_ch == '\\')
str[i - 1] = ch;
- else
+ else if (i < sizeof(str) - 1)
str[i++] = ch;
prev_ch = ch;
}