已合并
fix(norm): guard optional output_rstd attribute access #10023
fix(norm): guard optional output_rstd attribute access #10023
已合并
raoliang_sac创建于 28 天前
共 1 个文件变更+6-3
@@ -662,9 +662,12 @@ ge::graphStatus RmsNormQuantV2RegbaseTilingBase::SetInputParams()
662 (static_cast<uint64_t>(tilingParams.q == 1 ? 1 : 0) << 4));662 (static_cast<uint64_t>(tilingParams.q == 1 ? 1 : 0) << 4));
663 const bool* divModePtr = attrs->GetBool(DIV_MODE_ATTR_INDEX); // 添加类型判断663 const bool* divModePtr = attrs->GetBool(DIV_MODE_ATTR_INDEX); // 添加类型判断
664 tilingParams.divMode = (divModePtr == nullptr) ? DEFAULT_DIVMODE : *divModePtr;664 tilingParams.divMode = (divModePtr == nullptr) ? DEFAULT_DIVMODE : *divModePtr;
665- // 读取 output_rstd 属性(V2 无此属性返回 nullptr,rstdFlag=0;V3 有此属性)665+ // V2 registers three attributes; V3 adds output_rstd as the fourth attribute.
666- const bool* outputRstdPtr = attrs->GetBool(OUTPUT_RSTD_ATTR_INDEX);666+ tilingParams.rstdFlag = 0;
667- tilingParams.rstdFlag = (outputRstdPtr != nullptr && *outputRstdPtr) ? 1 : 0;667+ if (attrs->GetAttrNum() > static_cast<size_t>(OUTPUT_RSTD_ATTR_INDEX)) {
668+ const bool* outputRstdPtr = attrs->GetBool(OUTPUT_RSTD_ATTR_INDEX);
669+ tilingParams.rstdFlag = (outputRstdPtr != nullptr && *outputRstdPtr) ? 1 : 0;
670+ }
668 671 
669 return ge::GRAPH_SUCCESS;672 return ge::GRAPH_SUCCESS;
670}673}