From c2a2fc7dbe306b118649b40f5c2d1b35fe2a2a82 Mon Sep 17 00:00:00 2001 From: Pavol Marko Date: Mon, 27 Sep 2004 14:33:50 +0000 Subject: [PATCH] Added forward parameters overrun check in prepareArray --- amxmodx/CForward.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/amxmodx/CForward.cpp b/amxmodx/CForward.cpp index 6b204e96..fc758b7a 100755 --- a/amxmodx/CForward.cpp +++ b/amxmodx/CForward.cpp @@ -502,10 +502,16 @@ cell executeForwards(int id, ...) cell CForwardMngr::prepareArray(void *ptr, unsigned int size, ForwardArrayElemType type, bool copyBack) { + if (m_TmpArraysNum >= FORWARD_MAX_PARAMS) + { + AMXXLOG_Log("[AMXX] Forwards with more than 32 parameters are not supported."); + return -1; + } m_TmpArrays[m_TmpArraysNum].ptr = ptr; m_TmpArrays[m_TmpArraysNum].size = size; m_TmpArrays[m_TmpArraysNum].type = type; m_TmpArrays[m_TmpArraysNum].copyBack = copyBack; + return m_TmpArraysNum++; }