diff options
author | Daniel Stenberg <daniel@haxx.se> | 2005-02-22 12:20:30 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2005-02-22 12:20:30 +0000 |
commit | f8b4ba80e0b6c53620084108b59aed95d16a26ec (patch) | |
tree | 3d40cab8474a24a959f95e6af0874c58fe7827cc /lib/security.c | |
parent | 527f70e540b68bcdb338cd5a133bbf17daf0105a (diff) | |
download | curl-f8b4ba80e0b6c53620084108b59aed95d16a26ec.tar.gz |
krb4 fixed
Diffstat (limited to 'lib/security.c')
-rw-r--r-- | lib/security.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/security.c b/lib/security.c index 64c55b3ba..c1df26c05 100644 --- a/lib/security.c +++ b/lib/security.c @@ -297,13 +297,15 @@ int Curl_sec_read_msg(struct connectdata *conn, char *s, int level) { int len; - char *buf; + unsigned char *buf; int code; - buf = malloc(strlen(s)); - len = Curl_base64_decode(s + 4, buf); /* XXX */ + len = Curl_base64_decode(s + 4, &buf); /* XXX */ + if(len > 0) + len = (conn->mech->decode)(conn->app_data, buf, len, level, conn); + else + return -1; - len = (conn->mech->decode)(conn->app_data, buf, len, level, conn); if(len < 0) { free(buf); return -1; @@ -314,10 +316,10 @@ Curl_sec_read_msg(struct connectdata *conn, char *s, int level) if(buf[3] == '-') code = 0; else - sscanf(buf, "%d", &code); + sscanf((char *)buf, "%d", &code); if(buf[len-1] == '\n') buf[len-1] = '\0'; - strcpy(s, buf); + strcpy(s, (char *)buf); free(buf); return code; } |