summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2018-06-06 11:13:28 +0200
committerAnatol Belski <ab@php.net>2018-06-06 11:13:28 +0200
commitf96df64cb2219fda42ca875483f874cf3052647c (patch)
tree732292121932e304d90bbb40cfc08f63eb7da4ec
parent04db3d0f7a279288cb0764724730b0384e78fba7 (diff)
downloadphp-git-f96df64cb2219fda42ca875483f874cf3052647c.tar.gz
Fix VC compilation as variable size array is not supported
-rw-r--r--ext/mysqlnd/mysqlnd_wireprotocol.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c
index e782d990c1..c5039c3d72 100644
--- a/ext/mysqlnd/mysqlnd_wireprotocol.c
+++ b/ext/mysqlnd/mysqlnd_wireprotocol.c
@@ -2277,7 +2277,12 @@ size_t php_mysqlnd_cached_sha2_result_write(void * _packet)
MYSQLND_PFC * pfc = packet->header.protocol_frame_codec;
MYSQLND_VIO * vio = packet->header.vio;
MYSQLND_STATS * stats = packet->header.stats;
+#ifndef _MSC_VER
zend_uchar buffer[MYSQLND_HEADER_SIZE + packet->password_len + 1];
+#else
+ ALLOCA_FLAG(use_heap)
+ zend_uchar *buffer = do_alloca(MYSQLND_HEADER_SIZE + packet->password_len + 1, use_heap);
+#endif
size_t sent;
DBG_ENTER("php_mysqlnd_cached_sha2_result_write");
@@ -2290,6 +2295,10 @@ size_t php_mysqlnd_cached_sha2_result_write(void * _packet)
sent = pfc->data->m.send(pfc, vio, buffer, packet->password_len, stats, error_info);
}
+#ifdef _MSC_VER
+ free_alloca(buffer, use_heap);
+#endif
+
DBG_RETURN(sent);
}