Skip to content

[Deepin Integration]~[v25-Release] fix: Fix DDE File Dialog patch compatibility with GLib 2.84.4 by Zeno-sole@deepin-community/gtkplus3.0 by deepin-community-ci-bot[bot] #13728

Description

@deepin-bot

Package information | 软件包信息

包名 版本
gtk+3.0 3.24.41-1deepin7

Package repository address | 软件包仓库地址

deb [trusted=yes] https://ci.deepin.com/repo/obs/deepin:/CI:/TestingIntegration:/test-integration-pr-4396/testing/ ./

Changelog | 更新信息

gtk+3.0 (3.24.41-1deepin7) unstable; urgency=medium

  • debian/patches/dde-filedialog.patch:
    • Fix GVariant lifecycle in gtk_file_chooser_get_files().
      Store GVariant returned by g_variant_iter_next_value() and properly
      unref it after using the string, instead of leaking it.
    • Fix GVariant lifecycle in on_selectedUrlsChanged().
      Store GVariant returned by g_variant_iter_next_value() and properly
      unref it after using the string, instead of leaking it.
    • Fix GVariant lifecycle in glob_patterns_append().
      Store GVariant returned by g_variant_iter_next_value() and properly
      unref it after using the string, instead of leaking it.
    • Fix use-after-free in gtk_file_chooser_get_files().
      Remove g_free() on the string returned by g_variant_get_string(),
      which returns a pointer to the variant's internal data and must not
      be freed. The string is used before the variant is unreffed.
    • Fix use-after-free in glob_patterns_append().
      Remove g_free() on the string returned by g_variant_get_string().
    • Root cause: g_variant_get_string() returns a pointer to the string
      inside the GVariant, not a newly allocated copy. Calling g_free() on
      the pointer after g_variant_unref() causes heap corruption.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status
In progress

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions