X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fplugins%2Fpassprompt.c;h=768901718e884d6654265817ee9c3ced1e2118e7;hb=7ecc3bb89b1f06a0e583bb84f4da0f6a60f0da14;hp=5e6a7f90bb755026387fed5bab7f7a789fd55f5f;hpb=5951347a39047850943e0b0ee31d025c6560a47c;p=ppp.git diff --git a/pppd/plugins/passprompt.c b/pppd/plugins/passprompt.c index 5e6a7f9..7689017 100644 --- a/pppd/plugins/passprompt.c +++ b/pppd/plugins/passprompt.c @@ -30,7 +30,7 @@ static int promptpass(char *user, char *passwd) int p[2]; pid_t kid; int readgood, wstat; - size_t red; + ssize_t red; if (promptprog[0] == 0 || access(promptprog, X_OK) < 0) return -1; /* sorry, can't help */ @@ -74,6 +74,8 @@ static int promptpass(char *user, char *passwd) if (red == 0) break; if (red < 0) { + if (errno == EINTR) + continue; error("Can't read secret from %s: %m", promptprog); readgood = -1; break;