From ae1b3d1acbf95415288a32fd02ef25965b08ba6e Mon Sep 17 00:00:00 2001 From: Krzysztof Parzyszek Date: Fri, 31 Mar 2023 11:45:01 -0700 Subject: [PATCH] [Relay] Move pad value extraction past null pointer check In SimplifyExplicitPad, the pad_value pointer was dereferenced before checking if it's null or not. Move the dereference to past the check. --- src/relay/transforms/fold_explicit_padding.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/relay/transforms/fold_explicit_padding.cc b/src/relay/transforms/fold_explicit_padding.cc index 794bcfd3d07d..55e1fe854fe3 100644 --- a/src/relay/transforms/fold_explicit_padding.cc +++ b/src/relay/transforms/fold_explicit_padding.cc @@ -228,7 +228,6 @@ class SimplifyExplicitPad { const Expr& pv = pad_node->args[1]; const ConstantNode* pad_value = pv.as(); - auto pad_scalar = ToScalar(pad_value->data); if (node_map.find(qconv2d_) != node_map.end()) { Attrs attrs = MakeConv2D3DAttrs(param, call_node->attrs.as()); @@ -251,6 +250,7 @@ class SimplifyExplicitPad { if (param->pad_mode == "constant" && pad_value) { Attrs attrs; + auto pad_scalar = ToScalar(pad_value->data); if (pad_scalar == 0.0) { // Fold Padding and Conv/AvgPool only if pad_value == 0. if (node_map.count(conv_)) {