### 漏洞关键信息总结 **漏洞概述** * **编号**: Bug 760990 * **描述**: 在 `unpack_stream` 函数中计算 `src_stride` 时发生整数溢出(overflow)。 * **原因**: 原有计算 `(w * depth * n) >> 1` 使用32位整数运算,数值过大时导致溢出。 **影响范围** * **文件**: `source/ffz/draw-unpack.c` * **函数**: `unpack_stream` **修复方案** * **方法**: 采用64位整数运算避免溢出。 * **实现**: 将中间计算结果提升至 `int64_t` 类型,防止32位溢出,最终转回 `int` 类型。 **修复代码** ```c int64_t src_stride = (int64_t)w * depth * n >> 1; // avoid overflow by mapping to 64-bit math int src_stride = (int)src_stride; ```