File 0001-Fix-overflow-in-build_ustar_entry-2588.patch of Package xtrabackup

--- a/storage/innobase/xtrabackup/src/libarchive/libarchive/archive_write_set_format_pax.c
+++ b/storage/innobase/xtrabackup/src/libarchive/libarchive/archive_write_set_format_pax.c
@@ -1463,7 +1463,7 @@ build_ustar_entry_name(char *dest, const
 	const char *filename, *filename_end;
 	char *p;
 	int need_slash = 0; /* Was there a trailing slash? */
-	size_t suffix_length = 99;
+	size_t suffix_length = 98; /* 99 - 1 for trailing slash */
 	size_t insert_length;
 
 	/* Length of additional dir element to be added. */
@@ -1515,7 +1515,7 @@ build_ustar_entry_name(char *dest, const
 	/* Step 2: Locate the "prefix" section of the dirname, including
 	 * trailing '/'. */
 	prefix = src;
-	prefix_end = prefix + 155;
+	prefix_end = prefix + 154 /* 155 - 1 for trailing / */;
 	if (prefix_end > filename)
 		prefix_end = filename;
 	while (prefix_end > prefix && *prefix_end != '/')
openSUSE Build Service is sponsored by