Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package jsonrpc-glib for openSUSE:Leap:16.0 
checked in at 2025-07-15 11:24:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:16.0/jsonrpc-glib (Old)
 and      /work/SRC/openSUSE:Leap:16.0/.jsonrpc-glib.new.7373 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "jsonrpc-glib"

Tue Jul 15 11:24:39 2025 rev:2 rq:1292398 version:3.44.2

Changes:
--------
--- /work/SRC/openSUSE:Leap:16.0/jsonrpc-glib/jsonrpc-glib.changes      
2025-03-19 11:47:16.851144193 +0100
+++ /work/SRC/openSUSE:Leap:16.0/.jsonrpc-glib.new.7373/jsonrpc-glib.changes    
2025-07-15 11:25:05.666399759 +0200
@@ -1,0 +2,6 @@
+Sun Jun 29 07:13:44 UTC 2025 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 3.44.2:
+  + Improvements for potential UB usage for 8-byte aligned types.
+
+-------------------------------------------------------------------

Old:
----
  jsonrpc-glib-3.44.1.tar.xz

New:
----
  jsonrpc-glib-3.44.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ jsonrpc-glib.spec ++++++
--- /var/tmp/diff_new_pack.io3hf1/_old  2025-07-15 11:25:05.906409716 +0200
+++ /var/tmp/diff_new_pack.io3hf1/_new  2025-07-15 11:25:05.910409882 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package jsonrpc-glib
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %define sover    1_0-1
 
 Name:           jsonrpc-glib
-Version:        3.44.1
+Version:        3.44.2
 Release:        0
 Summary:        Library to communicate with JSON-RPC based peers
 License:        LGPL-2.1-or-later

++++++ jsonrpc-glib-3.44.1.tar.xz -> jsonrpc-glib-3.44.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonrpc-glib-3.44.1/.gitlab-ci.yml 
new/jsonrpc-glib-3.44.2/.gitlab-ci.yml
--- old/jsonrpc-glib-3.44.1/.gitlab-ci.yml      2024-08-03 18:43:52.000000000 
+0200
+++ new/jsonrpc-glib-3.44.2/.gitlab-ci.yml      2025-06-29 02:33:36.000000000 
+0200
@@ -1,10 +1,18 @@
-image: fedora:latest
-stages:
-  - test
-  - docs
-  - deploy
+include:
+  - project: "GNOME/citemplates"
+    file: "templates/default-rules.yml"
+  - component: gitlab.gnome.org/GNOME/citemplates/gnomeos-basic-ci@master
+    inputs:
+      job-stage: "test"
+      meson-options: "-Denable_gtk_doc=true"
+  - component: "gitlab.gnome.org/GNOME/citemplates/basic-deploy-docs@master"
+  - component: gitlab.gnome.org/GNOME/citemplates/release-service@master
+    inputs:
+      dist-job-name: "build-gnomeos"
+      tarball-artifact-path: 
"_builddir/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz"
 
 build:
+  image: fedora:latest
   stage: test
   script:
     - sudo dnf install 'dnf-command(builddep)' -y
@@ -12,29 +20,3 @@
     - meson _build
     - ninja -C _build 
     - ninja -C _build test
-
-reference:
-  stage: docs
-  script:
-    - sudo dnf install 'dnf-command(builddep)' -y
-    - sudo dnf builddep jsonrpc-glib-devel -y
-    - sudo dnf install gi-docgen -y
-    - mkdir -p pfx/
-    - meson --prefix=${PWD}/pfx -Denable_gtk_doc=true _build
-    - ninja -C _build install
-    - mkdir -p _reference/
-    - mv pfx/share/doc/jsonrpc-glib/* _reference/
-  artifacts:
-    paths:
-      - _reference
-
-pages:
-  stage: deploy
-  needs: ['reference']
-  script:
-    - mv _reference public
-  artifacts:
-    paths:
-      - public
-  only:
-    - main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonrpc-glib-3.44.1/NEWS new/jsonrpc-glib-3.44.2/NEWS
--- old/jsonrpc-glib-3.44.1/NEWS        2024-08-03 18:43:52.000000000 +0200
+++ new/jsonrpc-glib-3.44.2/NEWS        2025-06-29 02:33:36.000000000 +0200
@@ -1,4 +1,10 @@
 ==============
+Version 3.44.2
+==============
+
+Improvements for potential UB usage for 8-byte aligned types
+
+==============
 Version 3.44.1
 ==============
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonrpc-glib-3.44.1/README.md 
new/jsonrpc-glib-3.44.2/README.md
--- old/jsonrpc-glib-3.44.1/README.md   2024-08-03 18:43:52.000000000 +0200
+++ new/jsonrpc-glib-3.44.2/README.md   2025-06-29 02:33:36.000000000 +0200
@@ -17,4 +17,4 @@
 
 ## Documentation
 
-Nightly documentations can be found at 
https://gnome.pages.gitlab.gnome.org/jsonrpc-glib/
+Nightly documentations can be found at 
https://gnome.pages.gitlab.gnome.org/jsonrpc-glib/jsonrpc-glib/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonrpc-glib-3.44.1/doc/Jsonrpc.toml.in 
new/jsonrpc-glib-3.44.2/doc/Jsonrpc.toml.in
--- old/jsonrpc-glib-3.44.1/doc/Jsonrpc.toml.in 2024-08-03 18:43:52.000000000 
+0200
+++ new/jsonrpc-glib-3.44.2/doc/Jsonrpc.toml.in 2025-06-29 02:33:36.000000000 
+0200
@@ -3,7 +3,7 @@
 browse_url = "https://gitlab.gnome.org/GNOME/jsonrpc-glib/";
 repository_url = "https://gitlab.gnome.org/GNOME/jsonrpc-glib.git";
 website_url = "https://gitlab.gnome.org/GNOME/jsonrpc-glib/";
-docs_url = "https://gnome.pages.gitlab.gnome.org/jsonrpc-glib/";
+docs_url = "https://gnome.pages.gitlab.gnome.org/jsonrpc-glib/jsonrpc-glib";
 authors = "Christian Hergert"
 license = "LGPL-2.1"
 description = "A GNOME library to communicate with JSON-RPC based peers"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonrpc-glib-3.44.1/meson.build 
new/jsonrpc-glib-3.44.2/meson.build
--- old/jsonrpc-glib-3.44.1/meson.build 2024-08-03 18:43:52.000000000 +0200
+++ new/jsonrpc-glib-3.44.2/meson.build 2025-06-29 02:33:36.000000000 +0200
@@ -1,5 +1,5 @@
 project('jsonrpc-glib', 'c',
-          version: '3.44.1',
+          version: '3.44.2',
           license: 'LGPLv2.1+',
     meson_version: '>= 0.49.2',
   default_options: [ 'warning_level=1', 'buildtype=debugoptimized', 
'c_std=gnu11' ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonrpc-glib-3.44.1/src/jsonrpc-client.c 
new/jsonrpc-glib-3.44.2/src/jsonrpc-client.c
--- old/jsonrpc-glib-3.44.1/src/jsonrpc-client.c        2024-08-03 
18:43:52.000000000 +0200
+++ new/jsonrpc-glib-3.44.2/src/jsonrpc-client.c        2025-06-29 
02:33:36.000000000 +0200
@@ -706,8 +706,16 @@
   if (_jsonrpc_input_stream_get_has_seen_gvariant (stream))
     jsonrpc_client_set_use_gvariant (self, TRUE);
 
-  /* Make sure we got a proper type back from the variant. */
-  if (!g_variant_is_of_type (message, G_VARIANT_TYPE_VARDICT))
+  if (g_variant_is_of_type (message, G_VARIANT_TYPE ("aa{sv}")))
+    {
+      /* TODO: Handle incoming batch mode */
+      error = g_error_new_literal (G_IO_ERROR,
+                                   G_IO_ERROR_INVALID_DATA,
+                                   "Batch mode not supported");
+      jsonrpc_client_panic (self, error);
+      return;
+    }
+  else if (!g_variant_is_of_type (message, G_VARIANT_TYPE_VARDICT))
     {
       error = g_error_new_literal (G_IO_ERROR,
                                    G_IO_ERROR_INVALID_DATA,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonrpc-glib-3.44.1/src/jsonrpc-message.c 
new/jsonrpc-glib-3.44.2/src/jsonrpc-message.c
--- old/jsonrpc-glib-3.44.1/src/jsonrpc-message.c       2024-08-03 
18:43:52.000000000 +0200
+++ new/jsonrpc-glib-3.44.2/src/jsonrpc-message.c       2025-06-29 
02:33:36.000000000 +0200
@@ -35,7 +35,7 @@
 #endif
 
 #define COMPARE_MAGIC(_any,_magic) \
-  (strncmp ((_any)->magic.bytes, \
+  (strncmp ((const char *)_any, \
             _JSONRPC_MESSAGE_##_magic##_MAGIC, \
             sizeof ((_any)->magic.bytes)) == 0)
 
@@ -87,7 +87,7 @@
    * recursion to read the next key/val pair.
    */
 
-  if (!keyptr || keyptr->magic.bytes[0] == '}')
+  if (!keyptr || ((const char *)keyptr)[0] == '}')
     EXIT;
 
   g_assert (!IS_PUT_VARIANT (keyptr));
@@ -110,7 +110,7 @@
   g_variant_builder_add (builder, "s", key);
   g_variant_builder_open (builder, G_VARIANT_TYPE ("v"));
 
-  switch (valptr->magic.bytes[0])
+  switch (((const char *)valptr)[0])
     {
     case '{':
       param = va_arg (*args, gconstpointer);
@@ -207,12 +207,12 @@
   ENTRY;
 
   /* If we have the end of the array, we're done */
-  if (valptr->magic.bytes[0] == ']')
+  if (((const char *)valptr)[0] == ']')
     EXIT;
 
   g_variant_builder_open (builder, G_VARIANT_TYPE ("v"));
 
-  switch (valptr->magic.bytes[0])
+  switch (((const char *)valptr)[0])
     {
     case '{':
       g_variant_builder_open (builder, G_VARIANT_TYPE ("a{sv}"));
@@ -350,7 +350,7 @@
   if (valptr == NULL)
     g_error ("got unexpected NULL for key %s", key);
 
-  if (valptr->magic.bytes[0] == '{' || IS_GET_DICT (valptr))
+  if (((const char *)valptr)[0] == '{' || IS_GET_DICT (valptr))
     {
       g_autoptr(GVariant) value = NULL;
 
@@ -371,7 +371,7 @@
             }
         }
     }
-  else if (valptr->magic.bytes[0] == '[' || IS_GET_ITER (valptr))
+  else if (((const char *)valptr)[0] == '[' || IS_GET_ITER (valptr))
     {
       g_autoptr(GVariantIter) subiter = NULL;
       g_autoptr(GVariant) subvalue = NULL;
@@ -515,13 +515,13 @@
 
   g_assert (iter != NULL);
 
-  if (valptr == NULL || valptr->magic.bytes[0] == ']')
+  if (valptr == NULL || ((const char *)valptr)[0] == ']')
     RETURN (TRUE);
 
   if (!g_variant_iter_next (iter, "v", &value))
     RETURN (FALSE);
 
-  if (valptr->magic.bytes[0] == '{' || IS_GET_DICT (valptr))
+  if (((const char *)valptr)[0] == '{' || IS_GET_DICT (valptr))
     {
       if (g_variant_is_of_type (value, G_VARIANT_TYPE ("a{sv}")))
         {
@@ -538,7 +538,7 @@
             }
         }
     }
-  else if (valptr->magic.bytes[0] == '[' || IS_GET_ITER (valptr))
+  else if (((const char *)valptr)[0] == '[' || IS_GET_ITER (valptr))
     {
       if (g_variant_is_of_type (value, G_VARIANT_TYPE ("av")))
         {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonrpc-glib-3.44.1/src/jsonrpc-message.h 
new/jsonrpc-glib-3.44.2/src/jsonrpc-message.h
--- old/jsonrpc-glib-3.44.1/src/jsonrpc-message.h       2024-08-03 
18:43:52.000000000 +0200
+++ new/jsonrpc-glib-3.44.2/src/jsonrpc-message.h       2025-06-29 
02:33:36.000000000 +0200
@@ -28,7 +28,7 @@
 typedef struct
 {
   char bytes[8];
-} JsonrpcMessageMagic;
+} JsonrpcMessageMagic __attribute__((aligned (8)));
 
 typedef struct
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jsonrpc-glib-3.44.1/tests/test-message.c 
new/jsonrpc-glib-3.44.2/tests/test-message.c
--- old/jsonrpc-glib-3.44.1/tests/test-message.c        2024-08-03 
18:43:52.000000000 +0200
+++ new/jsonrpc-glib-3.44.2/tests/test-message.c        2025-06-29 
02:33:36.000000000 +0200
@@ -21,7 +21,7 @@
     "}"
   );
 
-  g_assert (node != NULL);
+  g_assert_nonnull (node);
 
   r = JSONRPC_MESSAGE_PARSE (node,
     "foo", JSONRPC_MESSAGE_GET_STRING (&foo1),
@@ -38,12 +38,12 @@
 #define TESTSTR "{\"foo\": \"foo1\", \"bar\": \"foo2\", \"baz\": {\"baz\": 
[{\"baz\": 123}]}}"
   parser = json_parser_new ();
   r = json_parser_load_from_data (parser, TESTSTR, -1, &error);
-  g_assert (r);
+  g_assert_true (r);
   g_assert_no_error (error);
   deserialized = json_gvariant_deserialize (json_parser_get_root (parser), 
NULL, &error);
-  g_assert (deserialized);
+  g_assert_true (deserialized);
   g_assert_no_error (error);
-  g_assert (g_variant_equal (deserialized, node));
+  g_assert_true (g_variant_equal (deserialized, node));
 #undef TESTSTR
 }
 
@@ -56,7 +56,7 @@
   gboolean r;
 
   node = JSONRPC_MESSAGE_NEW ("foo", "[","[","[","[","[","[","[","[","[","[", 
"abc", "]", "]","]","]","]","]","]","]","]","]");
-  g_assert (node != NULL);
+  g_assert_nonnull (node);
 
   r = JSONRPC_MESSAGE_PARSE (node, "foo", 
"[","[","[","[","[","[","[","[","[","[", JSONRPC_MESSAGE_GET_STRING (&abc), 
"]", "]","]","]","]","]","]","]","]","]");
   g_assert_cmpstr (abc, ==, "abc");
@@ -65,7 +65,7 @@
   g_clear_pointer (&node, g_variant_unref);
 
   node = JSONRPC_MESSAGE_NEW ("foo", "[","[","[","[","[","[","[","[","[","{", 
"foo", "xyz", "}", "]","]","]","]","]","]","]","]","]");
-  g_assert (node != NULL);
+  g_assert_nonnull (node);
 
   r = JSONRPC_MESSAGE_PARSE (node, "foo", 
"[","[","[","[","[","[","[","[","[","{", "foo", JSONRPC_MESSAGE_GET_STRING 
(&xyz), "}", "]","]","]","]","]","]","]","]","]");
   g_assert_cmpstr (xyz, ==, "xyz");
@@ -81,10 +81,10 @@
   gint32 a=0, b=0, c=0;
 
   node = JSONRPC_MESSAGE_NEW ("foo", "[", JSONRPC_MESSAGE_PUT_INT32 (1), 
JSONRPC_MESSAGE_PUT_INT32 (2), JSONRPC_MESSAGE_PUT_INT32 (3), "]");
-  g_assert (node != NULL);
+  g_assert_nonnull (node);
 
   r = JSONRPC_MESSAGE_PARSE (node, "foo", JSONRPC_MESSAGE_GET_VARIANT 
(&ar123));
-  g_assert (ar123 != NULL);
+  g_assert_nonnull (ar123);
   g_assert_cmpint (r, ==, 1);
   g_assert_cmpint (3, ==, g_variant_n_children (ar123));
 
@@ -103,11 +103,11 @@
   gboolean r;
 
   node = JSONRPC_MESSAGE_NEW ("foo", "{", "bar", "[", 
JSONRPC_MESSAGE_PUT_INT32 (1), "two", JSONRPC_MESSAGE_PUT_INT32 (3), "]", "}");
-  g_assert (node != NULL);
+  g_assert_nonnull (node);
 
   r = JSONRPC_MESSAGE_PARSE (node, "foo", JSONRPC_MESSAGE_GET_DICT (&dict));
-  g_assert (dict != NULL);
-  g_assert (g_variant_dict_contains (dict, "bar"));
+  g_assert_nonnull (dict);
+  g_assert_true (g_variant_dict_contains (dict, "bar"));
   g_assert_cmpint (r, ==, TRUE);
 }
 
@@ -120,18 +120,24 @@
   gboolean r;
 
   node = JSONRPC_MESSAGE_NEW ("foo", "{", "bar", "[", 
JSONRPC_MESSAGE_PUT_INT32 (1), "two", JSONRPC_MESSAGE_PUT_INT32 (3), "]", "}");
-  g_assert (node != NULL);
+  g_assert_nonnull (node);
 
   r = JSONRPC_MESSAGE_PARSE (node, "foo", "{", "bar", 
JSONRPC_MESSAGE_GET_VARIANT (&ar), "}");
-  g_assert (ar != NULL);
+  g_assert_nonnull (ar);
   g_assert_cmpint (r, ==, TRUE);
+  g_clear_pointer (&node, g_variant_unref);
+  g_clear_pointer (&ar, g_variant_unref);
 
   node = jsonrpc_message_new ("foo", "{", "bar", "[", 
JSONRPC_MESSAGE_PUT_INT32 (1), "]", "}", NULL);
-  g_assert (node != NULL);
+  g_assert_nonnull (node);
+  g_clear_pointer (&node, g_variant_unref);
 
   node2 = JSONRPC_MESSAGE_NEW ("bar", JSONRPC_MESSAGE_PUT_INT32 (1));
-  node = JSONRPC_MESSAGE_NEW ("foo", "{", JSONRPC_MESSAGE_PUT_VARIANT 
(g_steal_pointer (&node2)), "}");
-  g_assert (node != NULL);
+  g_assert_nonnull (node2);
+  node = JSONRPC_MESSAGE_NEW ("foo", "{", JSONRPC_MESSAGE_PUT_VARIANT (node2), 
"}");
+  g_assert_nonnull (node);
+  g_clear_pointer (&node, g_variant_unref);
+  g_clear_pointer (&node2, g_variant_unref);
 }
 
 static void
@@ -143,7 +149,7 @@
   gboolean r;
 
   node = JSONRPC_MESSAGE_NEW ("foo", "{", "bar", "[", 
JSONRPC_MESSAGE_PUT_STRING (paren), "]", "}");
-  g_assert (node != NULL);
+  g_assert_nonnull (node);
 
   r = JSONRPC_MESSAGE_PARSE (node, "foo", "{", "bar", "[", 
JSONRPC_MESSAGE_GET_STRING (&str), "]", "}");
   g_assert_cmpstr (str, ==, "{");
@@ -160,11 +166,11 @@
   gboolean r;
 
   node = JSONRPC_MESSAGE_NEW ("foo", "[", "a", "b", "c", "d", "e", "]");
-  g_assert (node != NULL);
+  g_assert_nonnull (node);
 
   r = JSONRPC_MESSAGE_PARSE (node, "foo", JSONRPC_MESSAGE_GET_ITER (&iter));
   g_assert_cmpint (r, ==, TRUE);
-  g_assert (iter != NULL);
+  g_assert_nonnull (iter);
 
   r = JSONRPC_MESSAGE_PARSE_ARRAY (iter, JSONRPC_MESSAGE_GET_STRING (&a), 
JSONRPC_MESSAGE_GET_STRING (&b));
   g_assert_cmpint (r, ==, TRUE);
@@ -184,8 +190,8 @@
   gboolean r;
 
   node = JSONRPC_MESSAGE_NEW_ARRAY ("a", "b", "c", "d", "e");
-  g_assert (node != NULL);
-  g_assert (g_variant_is_of_type (node, G_VARIANT_TYPE ("av")));
+  g_assert_nonnull (node);
+  g_assert_true (g_variant_is_of_type (node, G_VARIANT_TYPE ("av")));
 
   r = g_variant_iter_init (&iter, node);
   g_assert_true (r);
@@ -210,8 +216,8 @@
   g_autoptr(GVariant) node = NULL;
 
   node = JSONRPC_MESSAGE_NEW_ARRAY ("{","}", "{", "}");
-  g_assert (node != NULL);
-  g_assert (g_variant_is_of_type (node, G_VARIANT_TYPE ("av")));
+  g_assert_nonnull (node);
+  g_assert_true (g_variant_is_of_type (node, G_VARIANT_TYPE ("av")));
   g_assert_cmpint (g_variant_n_children (node), ==, 2);
 }
 
@@ -230,7 +236,7 @@
     "content-type", JSONRPC_MESSAGE_PUT_STRING (NULL)
   );
 
-  g_assert (msg != NULL);
+  g_assert_nonnull (msg);
 
   success = JSONRPC_MESSAGE_PARSE (msg,
     "foo", JSONRPC_MESSAGE_GET_STRING (&foo),

Reply via email to