]> granicus.if.org Git - php/commitdiff
Fix VC compilation as variable size array is not supported
authorAnatol Belski <ab@php.net>
Wed, 6 Jun 2018 09:13:28 +0000 (11:13 +0200)
committerAnatol Belski <ab@php.net>
Wed, 6 Jun 2018 09:13:28 +0000 (11:13 +0200)
ext/mysqlnd/mysqlnd_wireprotocol.c

index e782d990c13bc3f01fe5f028b579b445116c4981..c5039c3d722ed25cbd272b56c721cf05d810bd31 100644 (file)
@@ -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);
 }