properly initialize memory space so that it can be unallocated later.
authorkouril <kouril>
Thu, 18 Dec 2003 15:12:11 +0000 (15:12 +0000)
committerkouril <kouril>
Thu, 18 Dec 2003 15:12:11 +0000 (15:12 +0000)
spnegokrb5/accept_sec_context.c

index 9f76695..170f55a 100644 (file)
@@ -64,8 +64,18 @@ code_NegTokenArg(OM_uint32 *minor_status,
        }
     } while (ret == ASN1_OVERFLOW);
 
-    *outbuf      = buf + buf_size - buf_len;
+    *outbuf = malloc(buf_len);
+    if (*outbuf == NULL) {
+       *minor_status = ENOMEM;
+       free(buf);
+       return GSS_S_FAILURE;
+    }
+
+    memcpy(*outbuf, buf + buf_size - buf_len, buf_len);
     *outbuf_size = buf_len;
+
+    free(buf);
+    
     return GSS_S_COMPLETE;
 }
 
@@ -145,7 +155,7 @@ send_accept (OM_uint32 *minor_status,
     }
 
     ret = code_NegTokenArg (minor_status, &targ, 
-                           (unsigned char**) &output_token->value, &output_token->length);
+                           (unsigned char **) &output_token->value, &output_token->length);
     free_NegTokenTarg(&targ);
     if (ret)
        return ret;