Sam James <s...@gentoo.org> writes: > Some users reported a crash downstream in Gentoo with > g_type_check_is_value_type > getting a garbage type. This turns out to be because > 95e07080a2a08196cafb05b69345ea1d629424b1 replaced the types (and argument > counts) incorrectly. > > Fix that by adding to gpa_marshal.list to create custom marshal types > and use those instead, and fix the argument count. > > Bug: https://bugs.gentoo.org/957196 > Fixes: 95e07080a2a08196cafb05b69345ea1d629424b1 > Signed-off-by: Sam James <s...@gentoo.org> > --- > Note that I've sent a DCO before in August 2022 but I don't spot it in > the archives at a glance, so sent it again just now. >
+cc Andreas, sorry I forgot earlier. > src/gpa-marshal.list | 2 ++ > src/gpacontext.c | 5 +++-- > src/gpakeyexpireop.c | 3 ++- > 3 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/src/gpa-marshal.list b/src/gpa-marshal.list > index 081ce17..941257d 100644 > --- a/src/gpa-marshal.list > +++ b/src/gpa-marshal.list > @@ -1 +1,3 @@ > INT:STRING,STRING > +VOID:INT,INT > +VOID:POINTER,POINTER > diff --git a/src/gpacontext.c b/src/gpacontext.c > index 91bd85f..31301c0 100644 > --- a/src/gpacontext.c > +++ b/src/gpacontext.c > @@ -25,6 +25,7 @@ > #include "gpa.h" > #include "gpgmetools.h" > #include "gpacontext.h" > +#include "gpa-marshal.h" > > /* GObject type functions */ > > @@ -145,9 +146,9 @@ gpa_context_class_init (GpaContextClass *klass) > G_SIGNAL_RUN_FIRST, > G_STRUCT_OFFSET (GpaContextClass, progress), > NULL, NULL, > - g_cclosure_marshal_VOID__INT, > + gpa_marshal_VOID__INT_INT, > G_TYPE_NONE, 2, > - G_TYPE_INT); > + G_TYPE_INT, G_TYPE_INT); > } > > static void > diff --git a/src/gpakeyexpireop.c b/src/gpakeyexpireop.c > index a489087..25e489e 100644 > --- a/src/gpakeyexpireop.c > +++ b/src/gpakeyexpireop.c > @@ -31,6 +31,7 @@ > #endif > > #include "gpa.h" > +#include "gpa-marshal.h" > #include "gpakeyexpireop.h" > #include "expirydlg.h" > #include "gpgmeedit.h" > @@ -114,7 +115,7 @@ gpa_key_expire_operation_class_init > (GpaKeyExpireOperationClass *klass) > G_SIGNAL_RUN_FIRST, > G_STRUCT_OFFSET (GpaKeyExpireOperationClass, new_expiration), > NULL, NULL, > - g_cclosure_marshal_VOID__POINTER, > + gpa_marshal_VOID__POINTER_POINTER, > G_TYPE_NONE, 2, > G_TYPE_POINTER, > G_TYPE_POINTER); _______________________________________________ Gnupg-devel mailing list Gnupg-devel@gnupg.org https://lists.gnupg.org/mailman/listinfo/gnupg-devel