On 2/14/23 3:36 PM, M Hickford wrote:
Curious, let me take a look. I see that the tests failed on freebsd too.
I was curious about this as well and took a look on my Windows machine. It appears that errno will be set to 'No such file or directory' unless you explicitly set it before checking it. This is odd, given that the helper script I wrote worked just fine without this requirement. However, I took a look through the rest of the codebase and noticed that `errno = 0` seems to always be declared before this type of conditional check. That did indeed fix the issue - tests all pass on Windows with this patch. I have not confirmed on freebsd, though, as a heads up. Thanks, Lessley --- diff --git a/credential.c b/credential.c index d3e1bf7a67..b9a9a1d7b1 100644 --- a/credential.c +++ b/credential.c @@ -236,6 +236,7 @@ int credential_read(struct credential *c, FILE *fp) free(c->path); c->path = xstrdup(value); } else if (!strcmp(key, "password_expiry_utc")) { + errno = 0; c->password_expiry_utc = parse_timestamp(value, NULL, 10); if (c->password_expiry_utc == 0 || errno) c->password_expiry_utc = TIME_MAX;