已合并
fix(norm): guard optional output_rstd attribute access #10023
raoliang_sac创建于 28 天前
fix(norm): guard optional output_rstd attribute access #10023
已合并
共 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 | } |