Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package cvs for openSUSE:Factory checked in 
at 2026-02-07 15:33:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cvs (Old)
 and      /work/SRC/openSUSE:Factory/.cvs.new.1670 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cvs"

Sat Feb  7 15:33:22 2026 rev:38 rq:1331720 version:1.12.13

Changes:
--------
--- /work/SRC/openSUSE:Factory/cvs/cvs.changes  2024-07-25 11:50:29.785308288 
+0200
+++ /work/SRC/openSUSE:Factory/.cvs.new.1670/cvs.changes        2026-02-07 
15:33:45.098183594 +0100
@@ -1,0 +2,9 @@
+Fri Feb  6 16:26:33 UTC 2026 - Valentin Lefebvre <[email protected]>
+
+- The CVS server hangs because it assumes the compressed input
+  length requested will be available from the underlying stream,
+  which is almost always necessarily shorter due to compression.
+  Fixed by requesting one byte at a time. (bsc#1257000)
+  * fix-broken-zlib.c-implementation.patch
+
+-------------------------------------------------------------------

New:
----
  fix-broken-zlib.c-implementation.patch

----------(New B)----------
  New:  Fixed by requesting one byte at a time. (bsc#1257000)
  * fix-broken-zlib.c-implementation.patch
----------(New E)----------

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

Other differences:
------------------
++++++ cvs.spec ++++++
--- /var/tmp/diff_new_pack.gKsIPD/_old  2026-02-07 15:33:49.178353106 +0100
+++ /var/tmp/diff_new_pack.gKsIPD/_new  2026-02-07 15:33:49.186353438 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package cvs
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -54,6 +54,7 @@
 Patch29:        cvs-CVE-2012-0804.patch
 Patch30:        cvs-Bug-1053364-disallow-dash.patch
 Patch31:        compile-with-Wformat-security.patch
+Patch32:        fix-broken-zlib.c-implementation.patch
 BuildRequires:  automake
 BuildRequires:  gdbm-devel
 BuildRequires:  groff
@@ -64,7 +65,7 @@
 Requires:       /bin/mktemp
 Requires:       openssh
 Requires(post): %{install_info_prereq}
-Requires(preun):%{install_info_prereq}
+Requires(preun): %{install_info_prereq}
 
 %description
 CVS is a front-end to the rcs (Revision Control System) included in the
@@ -108,6 +109,7 @@
 %patch -P 29
 %patch -P 30 -p1
 %patch -P 31 -p1
+%patch -P 32 -p1
 
 %build
 autoreconf -fvi

++++++ fix-broken-zlib.c-implementation.patch ++++++
>From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Derek Robert Price <[email protected]>
Date: Fri, 28 Oct 2005 16:10:59 +0200
Subject: [PATCH] Fix broken zlib.c implementation

* zlib.c (compress_bufer_input): Don't assume the number of bytes the
caller requested will be available from the stream underlying the
compression buffer - the data is compressed and should be shorter by
definition.  Improve comment.

Fixes: https://savannah.nongnu.org/bugs/?14840
Reported-by: Rahul Bhargava <[email protected]>
Upstream-Status: Backport [1.12.14]
[[email protected]: Patch normalized]
Signed-off-by: Ismael Luceno <[email protected]>
---
 zlib.c |   15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

RCS file: /sources/cvs/ccvs/src/zlib.c,v
diff -u -r1.31 -r1.32
--- a/src/zlib.c
+++ b/src/zlib.c
@@ -221,15 +221,14 @@
            point.  */
        assert (bd->size == 0);
 
-       /* This will work well in the server, because this call will
-          do an unblocked read and fetch all the available data.  In
-          the client, this will read a single byte from the stdio
-          stream, which will cause us to call inflate once per byte.
-          It would be more efficient if we could make a call which
-          would fetch all the available bytes, and at least one byte.  */
-
+       /* On the server, this will do an unblocking read of as much data as is
+        * available.  On the client, with a blocking input descriptor and the
+        * current fd_buffer implementation, this should read as much data as
+        * is currently available, and at least 1 byte (or EOF), from the
+        * underlying buffer.
+        */
        status = (*cb->buf->input) (cb->buf->closure, bd->text,
-                                   need, BUFFER_DATA_SIZE, &nread);
+                                   need ? 1 : 0, BUFFER_DATA_SIZE, &nread);
 
        if (status == -2)
            /* Don't try to recover from memory allcoation errors.  */

Reply via email to