]> granicus.if.org Git - curl/commitdiff
schannel.c: Fix possible SEC_E_BUFFER_TOO_SMALL error
authorMarc Hoersken <info@marc-hoersken.de>
Sun, 26 Apr 2015 15:59:01 +0000 (17:59 +0200)
committerMarc Hoersken <info@marc-hoersken.de>
Sun, 26 Apr 2015 15:59:01 +0000 (17:59 +0200)
Reported-by: Brian Chrisman
lib/vtls/schannel.c

index e9f455e44511b8dc4e0eecedb7cd7fc68f65b4d1..7d25fd7d05bc7c5aaac446ef291e1c4778096d2d 100644 (file)
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 2012 - 2014, Marc Hoersken, <info@marc-hoersken.de>
+ * Copyright (C) 2012 - 2015, Marc Hoersken, <info@marc-hoersken.de>
  * Copyright (C) 2012, Mark Salisbury, <mark.salisbury@hp.com>
  * Copyright (C) 2012 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
@@ -368,7 +368,8 @@ schannel_connect_step2(struct connectdata *conn, int sockindex)
     /* setup output buffers */
     InitSecBuffer(&outbuf[0], SECBUFFER_TOKEN, NULL, 0);
     InitSecBuffer(&outbuf[1], SECBUFFER_ALERT, NULL, 0);
-    InitSecBufferDesc(&outbuf_desc, outbuf, 2);
+    InitSecBuffer(&outbuf[2], SECBUFFER_EMPTY, NULL, 0);
+    InitSecBufferDesc(&outbuf_desc, outbuf, 3);
 
     if(inbuf[0].pvBuffer == NULL) {
       failf(data, "schannel: unable to allocate memory");