Commit f8b4ba80 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

krb4 fixed

parent 527f70e5
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -200,7 +200,7 @@ krb4_auth(void *app_data, struct connectdata *conn)
  int ret;
  char *p;
  unsigned char *ptr;
  int len;
  size_t len;
  KTEXT_ST adat;
  MSG_DAT msg_data;
  int checksum;
@@ -324,7 +324,7 @@ CURLcode Curl_krb_kauth(struct connectdata *conn)
  char *name;
  char *p;
  char passwd[100];
  int tmp;
  size_t tmp;
  ssize_t nread;
  int save;
  CURLcode result;
@@ -355,11 +355,11 @@ CURLcode Curl_krb_kauth(struct connectdata *conn)

  p += 2;
  tmp = Curl_base64_decode(p, &ptr);
  if(len > sizeof(tkt.dat)-1) {
  if(tmp >= sizeof(tkt.dat)) {
    free(ptr);
    len=0;
    tmp=0;
  }
  if(!len || !ptr) {
  if(!tmp || !ptr) {
    Curl_failf(conn->data, "Failed to decode base64 in reply.\n");
    Curl_set_command_prot(conn, save);
    return CURLE_FTP_WEIRD_SERVER_REPLY;
+8 −6
Original line number Diff line number Diff line
@@ -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;

  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;
}