[CRIU] [PATCH 4/5] util: fixup issubpath to handle sub-paths ending with slash

Pavel Tikhomirov ptikhomirov at virtuozzo.com
Tue Sep 11 11:09:05 MSK 2018


Before fix issubpath("./zdtm/static/mntns_shared_vs_private.test",
"./") returned false, though should return true.

Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
---
 criu/include/util.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/criu/include/util.h b/criu/include/util.h
index 5c18e69f7..dd280ec3a 100644
--- a/criu/include/util.h
+++ b/criu/include/util.h
@@ -206,12 +206,10 @@ int vaddr_to_pfn(int fd, unsigned long vaddr, u64 *pfn);
  */
 static inline bool strstartswith2(const char *str, const char *sub, char *end)
 {
-	const char *osub = sub;
-
 	while (1) {
 		if (*sub == '\0') /* end of sub -- match */ {
 			if (end) {
-				if (sub == osub + 1) /* pure root */
+				if (*(sub-1) == '/') /* "/", "./" or "path/" */
 					*end = '/';
 				else
 					*end = *str;
-- 
2.17.1



More information about the CRIU mailing list