Proper check for success of `base64_decode'

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1477 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-03-23 05:02:32 +00:00
parent 02b12a9a7e
commit 92b5a08e81
2 changed files with 7 additions and 4 deletions

View File

@@ -52,6 +52,7 @@ void kauth(int argc, char **argv)
char *p; char *p;
int overbose; int overbose;
char passwd[100]; char passwd[100];
int tmp;
if(argc > 2){ if(argc > 2){
printf("usage: %s [principal]\n", argv[0]); printf("usage: %s [principal]\n", argv[0]);
@@ -80,12 +81,13 @@ void kauth(int argc, char **argv)
return; return;
} }
p += 2; p += 2;
tkt.length = base64_decode(p, &tkt.dat); tmp = base64_decode(p, &tkt.dat);
if(tkt.length < 0){ if(tmp < 0){
printf("Failed to decode base64 in reply.\n"); printf("Failed to decode base64 in reply.\n");
code = -1; code = -1;
return; return;
} }
tkt.length = tmp;
tktcopy.length = tkt.length; tktcopy.length = tkt.length;
p = strstr(reply_string, "P="); p = strstr(reply_string, "P=");

View File

@@ -86,12 +86,13 @@ int krb4_adat(char *auth)
char inst[INST_SZ]; char inst[INST_SZ];
memset(&tkt, 0, sizeof(tkt)); memset(&tkt, 0, sizeof(tkt));
tkt.length = base64_decode(auth, tkt.dat); len = base64_decode(auth, tkt.dat);
if(tkt.length < 0){ if(len < 0){
reply(501, "Failed to decode base64 data."); reply(501, "Failed to decode base64 data.");
return -1; return -1;
} }
tkt.length = len;
k_getsockinst(0, inst); k_getsockinst(0, inst);
kerror = krb_rd_req(&tkt, "ftp", inst, 0, &auth_dat, ""); kerror = krb_rd_req(&tkt, "ftp", inst, 0, &auth_dat, "");