Hello community,

here is the log from the commit of package libqb for openSUSE:Factory checked 
in at 2014-01-30 14:56:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqb (Old)
 and      /work/SRC/openSUSE:Factory/.libqb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libqb"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libqb/libqb.changes      2014-01-13 
12:03:04.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libqb.new/libqb.changes 2014-01-30 
14:56:01.000000000 +0100
@@ -1,0 +2,7 @@
+Fri Jan 17 13:34:43 UTC 2014 - [email protected]
+
+- ipc: Remove ipc connection reference given to dispatch functions (bnc#857779)
+- ipc: Fixes memory leak in server connection accept when client partially 
connects (bnc#857779)
+- Upstream version cs: d9706f75619976e334a109d0dbfdeac3b1074fe4
+
+-------------------------------------------------------------------

Old:
----
  libqb-0.16.0+git20140108.b579f7a.tar.bz2

New:
----
  libqb-0.16.0+git20140116.d9706f7.tar.bz2

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

Other differences:
------------------
++++++ libqb.spec ++++++
--- /var/tmp/diff_new_pack.vkw2Z2/_old  2014-01-30 14:56:01.000000000 +0100
+++ /var/tmp/diff_new_pack.vkw2Z2/_new  2014-01-30 14:56:01.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           libqb
-Version:        0.16.0+git20140108.b579f7a
+Version:        0.16.0+git20140116.d9706f7
 Release:        0
 Summary:        An IPC library for high performance servers
 License:        LGPL-2.1+

++++++ _service ++++++
--- /var/tmp/diff_new_pack.vkw2Z2/_old  2014-01-30 14:56:01.000000000 +0100
+++ /var/tmp/diff_new_pack.vkw2Z2/_new  2014-01-30 14:56:01.000000000 +0100
@@ -11,7 +11,7 @@
     <param name="version">0.16.0</param>
 -->
     <param name="versionformat">0.16.0+git%cd.%h</param>
-    <param name="revision">b579f7af151f453a870bbaac037084df13b45ef9</param>
+    <param name="revision">d9706f75619976e334a109d0dbfdeac3b1074fe4</param>
   </service>
 
   <service name="recompress" mode="disabled">

++++++ libqb-0.16.0+git20140108.b579f7a.tar.bz2 -> 
libqb-0.16.0+git20140116.d9706f7.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libqb-0.16.0+git20140108.b579f7a/lib/ipc_shm.c 
new/libqb-0.16.0+git20140116.d9706f7/lib/ipc_shm.c
--- old/libqb-0.16.0+git20140108.b579f7a/lib/ipc_shm.c  2014-01-09 
16:06:39.000000000 +0100
+++ new/libqb-0.16.0+git20140116.d9706f7/lib/ipc_shm.c  2014-01-17 
14:22:13.000000000 +0100
@@ -231,7 +231,6 @@
                        qb_ipcc_us_sock_close(c->setup.u.us.sock);
                        
(void)c->service->poll_fns.dispatch_del(c->setup.u.us.sock);
                        c->setup.u.us.sock = -1;
-                       qb_ipcs_connection_unref(c);
                }
        }
        if (c->state == QB_IPCS_CONNECTION_SHUTTING_DOWN ||
@@ -323,9 +322,7 @@
                                       c->setup.u.us.sock,
                                       POLLIN | POLLPRI | POLLNVAL,
                                       c, qb_ipcs_dispatch_connection_request);
-       if (res == 0) {
-               qb_ipcs_connection_ref(c);
-       } else {
+       if (res != 0) {
                qb_util_log(LOG_ERR,
                            "Error adding socket to mainloop (%s).",
                            c->description);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libqb-0.16.0+git20140108.b579f7a/lib/ipc_socket.c 
new/libqb-0.16.0+git20140116.d9706f7/lib/ipc_socket.c
--- old/libqb-0.16.0+git20140108.b579f7a/lib/ipc_socket.c       2014-01-09 
16:06:39.000000000 +0100
+++ new/libqb-0.16.0+git20140116.d9706f7/lib/ipc_socket.c       2014-01-17 
14:22:13.000000000 +0100
@@ -579,7 +579,6 @@
                            c->description);
                return res;
        }
-       qb_ipcs_connection_ref(c);
 
        res = c->service->poll_fns.dispatch_add(c->service->poll_priority,
                                                c->setup.u.us.sock,
@@ -592,7 +591,6 @@
                (void)c->service->poll_fns.dispatch_del(c->request.u.us.sock);
                return res;
        }
-       qb_ipcs_connection_ref(c);
        return res;
 }
 
@@ -600,10 +598,7 @@
 _sock_rm_from_mainloop(struct qb_ipcs_connection *c)
 {
        (void)c->service->poll_fns.dispatch_del(c->request.u.us.sock);
-       qb_ipcs_connection_unref(c);
-
        (void)c->service->poll_fns.dispatch_del(c->setup.u.us.sock);
-       qb_ipcs_connection_unref(c);
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libqb-0.16.0+git20140108.b579f7a/lib/ipcs.c 
new/libqb-0.16.0+git20140116.d9706f7/lib/ipcs.c
--- old/libqb-0.16.0+git20140108.b579f7a/lib/ipcs.c     2014-01-09 
16:06:39.000000000 +0100
+++ new/libqb-0.16.0+git20140116.d9706f7/lib/ipcs.c     2014-01-17 
14:22:13.000000000 +0100
@@ -608,6 +608,10 @@
                c->service->funcs.disconnect(c);
                c->state = QB_IPCS_CONNECTION_INACTIVE;
                c->service->stats.closed_connections++;
+
+               /* This removes the initial alloc ref */
+               qb_ipcs_connection_unref(c);
+
                /* return early as it's an incomplete connection.
                 */
                return;

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to