gnucash maint: Bug 798585 - segfault running sample script

John Ralls jralls at code.gnucash.org
Sat Jul 30 20:08:09 EDT 2022


Updated	 via  https://github.com/Gnucash/gnucash/commit/688832b5 (commit)
	from  https://github.com/Gnucash/gnucash/commit/815eeb49 (commit)



commit 688832b5f82734fd0c28c8bdc828f25774b177a0
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Jul 30 16:45:13 2022 -0700

    Bug 798585 - segfault running sample script
    
    The root cause of which is that on recent releases of GLib (recent
    meaning 2.66 in the current Debian stable!) g_type_instance_get_private
    looks in the wrong place for the private data. When running the script
    in question it returned NULL and since the code didn't check for a valid
    pointer, it crashed.
    
    So this change replaces all calls to g_type_instance_get_private with
    the function [type_prefix]_get_instance_private() added in glib-2.36
    except for two register2 files that have been removed from master; those
    are ignored to avoid unnecessary merge conflicts.



Summary of changes:
 bindings/python/example_scripts/simple_business_create.py |  2 +-
 gnucash/gnome-search/gnc-general-search.c                 |  2 +-
 gnucash/gnome-search/search-account.c                     |  2 +-
 gnucash/gnome-search/search-boolean.c                     |  2 +-
 gnucash/gnome-search/search-core-type.c                   |  2 +-
 gnucash/gnome-search/search-date.c                        |  2 +-
 gnucash/gnome-search/search-double.c                      |  2 +-
 gnucash/gnome-search/search-int64.c                       |  2 +-
 gnucash/gnome-search/search-numeric.c                     |  2 +-
 gnucash/gnome-search/search-reconciled.c                  |  2 +-
 gnucash/gnome-search/search-string.c                      |  2 +-
 gnucash/gnome-utils/gnc-currency-edit.c                   |  2 +-
 gnucash/gnome-utils/gnc-date-format.c                     |  2 +-
 gnucash/gnome-utils/gnc-embedded-window.c                 |  2 +-
 gnucash/gnome-utils/gnc-main-window.c                     |  2 +-
 gnucash/gnome-utils/gnc-period-select.c                   |  6 +++---
 gnucash/gnome-utils/gnc-plugin-file-history.c             |  2 +-
 gnucash/gnome-utils/gnc-plugin-manager.c                  |  6 +++---
 gnucash/gnome-utils/gnc-plugin-menu-additions.c           |  2 +-
 gnucash/gnome-utils/gnc-plugin-page.c                     |  2 +-
 gnucash/gnome-utils/gnc-plugin.c                          |  2 +-
 gnucash/gnome-utils/gnc-query-view.c                      |  6 +++---
 gnucash/gnome-utils/gnc-tree-model-account-types.c        |  2 +-
 gnucash/gnome-utils/gnc-tree-model-account.c              | 13 +++++++------
 gnucash/gnome-utils/gnc-tree-model-commodity.c            |  2 +-
 gnucash/gnome-utils/gnc-tree-model-owner.c                | 13 +++++++------
 gnucash/gnome-utils/gnc-tree-model-price.c                |  2 +-
 gnucash/gnome-utils/gnc-tree-model-selection.c            |  2 +-
 gnucash/gnome-utils/gnc-tree-model-split-reg.c            |  2 +-
 gnucash/gnome-utils/gnc-tree-model.c                      |  2 +-
 gnucash/gnome-utils/gnc-tree-view-account.c               |  2 +-
 gnucash/gnome-utils/gnc-tree-view-commodity.c             |  2 +-
 gnucash/gnome-utils/gnc-tree-view-owner.c                 |  2 +-
 gnucash/gnome-utils/gnc-tree-view-price.c                 |  2 +-
 gnucash/gnome-utils/gnc-tree-view-split-reg.c             |  2 +-
 gnucash/gnome-utils/gnc-tree-view-sx-list.c               |  2 +-
 gnucash/gnome-utils/gnc-tree-view.c                       |  2 +-
 gnucash/gnome-utils/search-param.c                        |  6 +++---
 gnucash/gnome/gnc-budget-view.c                           |  2 +-
 gnucash/gnome/gnc-plugin-account-tree.c                   |  2 +-
 gnucash/gnome/gnc-plugin-basic-commands.c                 |  2 +-
 gnucash/gnome/gnc-plugin-budget.c                         |  2 +-
 gnucash/gnome/gnc-plugin-business.c                       |  2 +-
 gnucash/gnome/gnc-plugin-page-account-tree.c              |  2 +-
 gnucash/gnome/gnc-plugin-page-budget.c                    |  2 +-
 gnucash/gnome/gnc-plugin-page-invoice.c                   |  2 +-
 gnucash/gnome/gnc-plugin-page-owner-tree.c                |  6 +++---
 gnucash/gnome/gnc-plugin-page-register.c                  |  2 +-
 gnucash/gnome/gnc-plugin-page-report.c                    |  2 +-
 gnucash/gnome/gnc-plugin-page-sx-list.c                   |  6 +++---
 gnucash/gnome/gnc-plugin-register.c                       |  2 +-
 gnucash/gnome/search-owner.c                              |  2 +-
 gnucash/html/gnc-html.c                                   |  2 +-
 gnucash/import-export/csv-exp/gnc-plugin-csv-export.c     |  2 +-
 gnucash/import-export/csv-imp/gnc-plugin-csv-import.c     |  2 +-
 gnucash/import-export/log-replay/gnc-plugin-log-replay.c  |  2 +-
 gnucash/import-export/ofx/gnc-plugin-ofx.c                |  2 +-
 gnucash/import-export/qif-imp/gnc-plugin-qif-import.c     |  2 +-
 libgnucash/engine/Account.cpp                             |  2 +-
 libgnucash/engine/gnc-budget.cpp                          |  2 +-
 libgnucash/engine/gnc-commodity.c                         |  2 +-
 libgnucash/engine/gnc-lot.c                               | 10 +++++++---
 libgnucash/engine/qofinstance.cpp                         |  2 +-
 63 files changed, 93 insertions(+), 87 deletions(-)



More information about the gnucash-patches mailing list