diff --git a/syncd/Syncd.cpp b/syncd/Syncd.cpp index 34de8675e28c..e6711c62cb42 100644 --- a/syncd/Syncd.cpp +++ b/syncd/Syncd.cpp @@ -537,7 +537,7 @@ sai_status_t Syncd::processGetStatsEvent( counter_ids.push_back(val); } - std::vector result; + std::vector result(counter_ids.size()); auto status = m_vendorSai->getStats( metaKey.objecttype, diff --git a/syncd/VendorSai.cpp b/syncd/VendorSai.cpp index 955e0ea7a0d6..0539ac4ca17e 100644 --- a/syncd/VendorSai.cpp +++ b/syncd/VendorSai.cpp @@ -388,6 +388,12 @@ sai_status_t VendorSai::getStats( _In_ const sai_stat_id_t *counter_ids, _Out_ uint64_t *counters); + if (!counter_ids || !counters) + { + SWSS_LOG_ERROR("NULL pointer function argument"); + return SAI_STATUS_INVALID_PARAMETER; + } + switch ((int)object_type) { case SAI_OBJECT_TYPE_PORT: