diff options
author | Bob Beck <beck@cvs.openbsd.org> | 2019-05-13 21:47:10 +0000 |
---|---|---|
committer | Bob Beck <beck@cvs.openbsd.org> | 2019-05-13 21:47:10 +0000 |
commit | 7cecd5dcb800f259ed67a91501a9a7a2fd7262e0 (patch) | |
tree | 000fc560040de48758817b8aec55a30512151935 | |
parent | 91e24e81937f3ed0568b89bfadca98a9b049fb1c (diff) |
Document our currently incosnsistent behaviour and our current
sins which have been judged by Dr Posix as sinful...
-rw-r--r-- | regress/sys/kern/realpath/realpathtest.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/regress/sys/kern/realpath/realpathtest.c b/regress/sys/kern/realpath/realpathtest.c index b025d7b1c4b..e909fae1fe4 100644 --- a/regress/sys/kern/realpath/realpathtest.c +++ b/regress/sys/kern/realpath/realpathtest.c @@ -1,4 +1,4 @@ -/* $OpenBSD: realpathtest.c,v 1.5 2019/05/11 21:28:08 beck Exp $ */ +/* $OpenBSD: realpathtest.c,v 1.6 2019/05/13 21:47:09 beck Exp $ */ /* * Copyright (c) 2019 Bob Beck <beck@openbsd.org> @@ -143,7 +143,25 @@ main(int argc, char *argv[]) } i-= 3; strlcpy(big+i, "bsd/", 5); - RP_SHOULD_SUCCEED(big, r2, r3); /* XXX is this right? */ + RP_SHOULD_SUCCEED(big, r2, r3); /* XXX This is wrong by posix */ + + for (i = 0; i < (PATH_MAX - 5); i += 3) { + big[i] = '.'; + big[i+1] = '.'; + big[i+2] = '/'; + } + i-= 3; + strlcpy(big+i, "derp", 5); + RP_SHOULD_SUCCEED(big, r2, r3); /* XXX this is wrong by posix */ + + for (i = 0; i < (PATH_MAX - 6); i += 3) { + big[i] = '.'; + big[i+1] = '.'; + big[i+2] = '/'; + } + i-= 3; + strlcpy(big+i, "derp/", 6); + RP_SHOULD_FAIL(big, r2, r3); /* XXX this is correct by posix */ for (i = 0; i < (PATH_MAX - 4); i += 3) { big[i] = '.'; |