diff options
| author | Tom Yu <tlyu@mit.edu> | 2003-02-08 09:51:01 +0000 |
|---|---|---|
| committer | Tom Yu <tlyu@mit.edu> | 2003-02-08 09:51:01 +0000 |
| commit | 4621625e006e1006e8aca3bae52bbb5bdc72efbe (patch) | |
| tree | 37df37670f299c578f2358d37d0d47da7c53a1bd /src/lib/krb5/os/prompter.c | |
| parent | 346ffd9c61b6f6390d61504726f2b4ca6a2d5a05 (diff) | |
| download | krb5-4621625e006e1006e8aca3bae52bbb5bdc72efbe.tar.gz krb5-4621625e006e1006e8aca3bae52bbb5bdc72efbe.tar.xz krb5-4621625e006e1006e8aca3bae52bbb5bdc72efbe.zip | |
* prompter.c (krb5_prompter_posix): Kill echo before printing
prompt to avoid possible race conditions in test suite.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15170 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/os/prompter.c')
| -rw-r--r-- | src/lib/krb5/os/prompter.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/lib/krb5/os/prompter.c b/src/lib/krb5/os/prompter.c index 81e0b78f0e..3d5e763740 100644 --- a/src/lib/krb5/os/prompter.c +++ b/src/lib/krb5/os/prompter.c @@ -69,18 +69,17 @@ krb5_prompter_posix( /* fgets() takes int, but krb5_data.length is unsigned. */ if (prompts[i].reply->length > INT_MAX) goto cleanup; + + errcode = setup_tty(fp, prompts[i].hidden); + if (errcode) + break; + /* put out the prompt */ (void)fputs(prompts[i].prompt, stdout); (void)fputs(": ", stdout); (void)fflush(stdout); (void)memset(prompts[i].reply->data, 0, prompts[i].reply->length); - errcode = setup_tty(fp, prompts[i].hidden); - if (errcode) { - if (prompts[i].hidden) - putchar('\n'); - break; - } got_int = 0; retp = fgets(prompts[i].reply->data, (int)prompts[i].reply->length, fp); |
