Dear Maintainer,
I tried to have a look and the segfault is really a result of the
previous g_param_spec_is_valid_name failures.
It looks like g_param_spec_is_valid_name got tightened lately to
not accept names with dashes anymore.
The following malloc corruption seems to originate in the backtrace below.
There the value pointer neither gets initialised, nor written to,
therefore the free fails.
Attached patch would replace thes "/" by "-" in the parameters
which get accepted by glib2.0.
I assume because of this issue this package is not usable at all,
therefore should be the severity increased?
Kind regards,
Bernhard
export MALLOC_CHECK_=3
(rr) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x7f11eae17537 in __GI_abort () at abort.c:79
#2 0x7f11eae70768 in __libc_message (action=action@entry=do_abort,
fmt=fmt@entry=0x7f11eaf7ee2d "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3 0x7f11eae77a5a in malloc_printerr (str=str@entry=0x7f11eaf7d05a "free():
invalid pointer") at malloc.c:5347
#4 0x7f11eae79ca6 in free_check (mem=0x55a02d91b8f0, caller=) at hooks.c:255
#5 0x55a02cd9ac41 in ogmrip_profiles_check_profile (section=0x55a02daae930
"/apps/ogmrip/profiles/default-avi", error=error@entry=0x0) at
ogmrip-profiles.c:155
#6 0x55a02cd9c7bf in ogmrip_profiles_dialog_add_profiles
(dialog=dialog@entry=0x55a02d9d4410, reload=reload@entry=0) at
ogmrip-profiles-dialog.c:157
#7 0x55a02cd9d0e5 in ogmrip_profiles_dialog_init (dialog=0x55a02d9d4410)
at ogmrip-profiles-dialog.c:733
#8 0x7f11eb11b391 in g_type_create_instance (type=) at
../../../gobject/gtype.c:1868
#9 0x7f11eb101615 in g_object_new_internal
(class=class@entry=0x55a02d92f430, params=params@entry=0x0,
n_params=n_params@entry=0) at ../../../gobject/gobject.c:1939
#10 0x7f11eb102b1d in g_object_new_with_properties
(object_type=94146449298656, n_properties=0, names=names@entry=0x0,
values=values@entry=0x0) at ../../../gobject/gobject.c:2107
#11 0x7f11eb1035f1 in g_object_new (object_type=,
first_property_name=first_property_name@entry=0x0) at ../../../gobject/gobject.c:1779
#12 0x55a02cd9d149 in ogmrip_profiles_dialog_new () at
ogmrip-profiles-dialog.c:741
#13 0x55a02cd8a21d in ogmrip_main_profiles_dialog_construct
(data=0x55a02d8a1b20) at ogmrip-main.c:1751
#14 main (argc=, argv=) at ogmrip-main.c:3215
Bug-Debian: https://bugs.debian.org/986031
Last-Update: 2021-04-11
--- ogmrip-1.0.1.orig/libogmrip-gtk/ogmrip-gconf-settings.c
+++ ogmrip-1.0.1/libogmrip-gtk/ogmrip-gconf-settings.c
@@ -63,10 +63,10 @@ my_gconf_concat_dir_and_key (const gchar
strcpy (retval, dir);
- if (dir[dirlen-1] == '/')
+ if (dir[dirlen-1] == '-')
{
/* dir ends in slash, strip key slash if needed */
-if (*key == '/')
+if (*key == '-')
++key;
strcpy (retval + dirlen, key);
@@ -76,9 +76,9 @@ my_gconf_concat_dir_and_key (const gchar
/* Dir doesn't end in slash, add slash if key lacks one. */
gchar* dest = retval + dirlen;
-if (*key != '/')
+if (*key != '-')
{
- *dest = '/';
+ *dest = '-';
++dest;
}
--- ogmrip-1.0.1.orig/libogmrip-gtk/ogmrip-lavc-options.c
+++ ogmrip-1.0.1/libogmrip-gtk/ogmrip-lavc-options.c
@@ -39,25 +39,25 @@
#define OGMRIP_IS_LAVC_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),
OGMRIP_TYPE_LAVC_DIALOG))
#define OGMRIP_IS_LAVC_DIALOG_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((klass),
OGMRIP_TYPE_LAVC_DIALOG))
-#define OGMRIP_LAVC_KEY_CMP OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_CMP
-#define OGMRIP_LAVC_KEY_PRECMP OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_PRECMP
-#define OGMRIP_LAVC_KEY_SUBCMP OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_SUBCMP
-#define OGMRIP_LAVC_KEY_DIA OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_DIA
-#define OGMRIP_LAVC_KEY_PREDIA OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_PREDIA
-#define OGMRIP_LAVC_KEY_KEYINT OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_KEYINT
-#define OGMRIP_LAVC_KEY_BUF_SIZEOGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_BUF_SIZE
-#define OGMRIP_LAVC_KEY_MIN_RATEOGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_MIN_RATE
-#define OGMRIP_LAVC_KEY_MAX_RATEOGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_MAX_RATE
-#define OGMRIP_LAVC_KEY_STRICT OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_STRICT
-#define OGMRIP_LAVC_KEY_DC OGMRIP_LAVC_SECTION "/" OGMRIP_LAVC_PROP_DC
-#define OGMRIP_LAVC_KEY_MBD OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_MBD
-#define OGMRIP_LAVC_KEY_QNS OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_QNS
-#define OGMRIP_LAVC_KEY_VB_STRATEGY OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_VB_STRATEGY
-#define OGMRIP_LAVC_KEY_LAST_PRED OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_LAST_PRED
-#define OGMRIP_LAVC_KEY_PREME OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_PREME
-#define OGMRIP_LAVC_KEY_VQCOMP OGMRIP_LAVC_SECTION "/"
OGMRIP_LAVC_PROP_VQCOMP
-#define