!97 merge cherry-pick-mr-95-1772847689963-auto into OpenHarmony-6.1-Release

Disallow hb_buffer_set_message_func during callback

Created-by: ZacohZhen
Commit-by: ZacohZhen
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)
https://gitcode.com/openharmony/third_party_harfbuzz/issues/169


### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/third_party_harfbuzz!97
This commit is contained in:
openharmony_ci
2026-03-07 11:43:05 +08:00
2 changed files with 18 additions and 2 deletions
@@ -0,0 +1,14 @@
diff --git a/src/hb-buffer.cc b/src/hb-buffer.cc
index 7fb95fe..ce737ce 100644
--- a/src/hb-buffer.cc
+++ b/src/hb-buffer.cc
@@ -2271,7 +2271,8 @@ hb_buffer_set_message_func (hb_buffer_t *buffer,
hb_buffer_message_func_t func,
void *user_data, hb_destroy_func_t destroy)
{
- if (unlikely (hb_object_is_immutable (buffer)))
+ if (unlikely (hb_object_is_immutable (buffer)) ||
+ unlikely (buffer->message_depth))
{
if (destroy)
destroy (user_data);
+4 -2
View File
@@ -33,7 +33,8 @@ def untar_file(tar_file_path, extract_path):
def move_file(src_path, dst_path):
files = [
"huawei_harfbuzz.patch",
"CVE-2026-22693.patch"
"CVE-2026-22693.patch",
"backport-harfbuzz-disallow-during-callback.patch"
]
for file in files:
src_file = os.path.join(src_path, file)
@@ -55,7 +56,8 @@ def apply_patch(patch_file, target_dir):
def do_patch(target_dir):
patch_file = [
"huawei_harfbuzz.patch",
"CVE-2026-22693.patch"
"CVE-2026-22693.patch",
"backport-harfbuzz-disallow-during-callback.patch"
]
for patch in patch_file: