From a82f041fd7fb0c774ab376246b1dc7f96bcab83c Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Tue, 14 Sep 1999 21:46:34 +0000 Subject: [PATCH] (main): check the return value from fgets git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6967 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/string2key.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/kdc/string2key.c b/kdc/string2key.c index cf989c232..481078312 100644 --- a/kdc/string2key.c +++ b/kdc/string2key.c @@ -140,20 +140,25 @@ main(int argc, char **argv) if(version5 && principal == NULL){ printf("Kerberos v5 principal: "); - fgets(buf, sizeof(buf), stdin); - buf[strlen(buf) - 1] = 0; - principal = strdup(buf); + if(fgets(buf, sizeof(buf), stdin) == NULL) + return 1; + if(buf[strlen(buf) - 1] == '\n') + buf[strlen(buf) - 1] = '\0'; + principal = estrdup(buf); } if(afs && cell == NULL){ printf("AFS cell: "); - fgets(buf, sizeof(buf), stdin); - buf[strlen(buf) - 1] = 0; - cell = strdup(buf); + if(fgets(buf, sizeof(buf), stdin) == NULL) + return 1; + if(buf[strlen(buf) - 1] == '\n') + buf[strlen(buf) - 1] = '\0'; + cell = estrdup(buf); } if(argv[0]) password = argv[0]; if(password == NULL){ - des_read_pw_string(buf, sizeof(buf), "Password: ", 0); + if(des_read_pw_string(buf, sizeof(buf), "Password: ", 0)) + return 1; password = buf; }