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:
@@ -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=");
|
||||||
|
@@ -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, "");
|
||||||
|
Reference in New Issue
Block a user