From 2d5fa2d1649ae7576ac98030405dfa0c3634da60 Mon Sep 17 00:00:00 2001 From: cecilia peng Date: Wed, 21 Dec 2022 17:12:08 +0800 Subject: [PATCH] fix heap-buffer-overflow issue. (#14648) --- src/frontends/paddle/src/input_model.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/frontends/paddle/src/input_model.cpp b/src/frontends/paddle/src/input_model.cpp index 10fd4878f1c..f948ec4cb18 100644 --- a/src/frontends/paddle/src/input_model.cpp +++ b/src/frontends/paddle/src/input_model.cpp @@ -364,7 +364,7 @@ void InputModel::InputModelImpl::createTempConsts() { var_place->set_element_type(type); var_place->set_partial_shape(tensor_ps); - Shape shape(tensor_ps.size()); + Shape shape(tensor_ps.size(), 0); for (auto i = 0; i < tensor_ps.size(); i++) { const auto& dim = tensor_ps[i]; if (dim.is_static()) { @@ -373,7 +373,10 @@ void InputModel::InputModelImpl::createTempConsts() { } if (tensor_ps.is_static()) { - shape[1] = 0; + // this tensorarray tensor originally could be scalar, then + // tensor_ps size would be 1 after unsqueeze. + auto idx = tensor_ps.size() > 1 ? 1 : 0; + shape[idx] = 0; } auto node = opset7::Constant::create(type, shape, {0});