Hello community,

here is the log from the commit of package python-zodbpickle for 
openSUSE:Factory checked in at 2019-06-18 14:58:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zodbpickle (Old)
 and      /work/SRC/openSUSE:Factory/.python-zodbpickle.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-zodbpickle"

Tue Jun 18 14:58:17 2019 rev:4 rq:710333 version:1.0.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-zodbpickle/python-zodbpickle.changes      
2019-04-12 09:15:47.685728266 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-zodbpickle.new.4811/python-zodbpickle.changes
    2019-06-18 14:58:26.337327994 +0200
@@ -1,0 +2,6 @@
+Mon Jun 17 11:10:54 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Update to 1.0.4:
+  * Fix pickle corruption under certain conditions. See pull request 47.
+
+-------------------------------------------------------------------

Old:
----
  zodbpickle-1.0.3.tar.gz

New:
----
  zodbpickle-1.0.4.tar.gz

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

Other differences:
------------------
++++++ python-zodbpickle.spec ++++++
--- /var/tmp/diff_new_pack.9vQPD8/_old  2019-06-18 14:58:29.205326347 +0200
+++ /var/tmp/diff_new_pack.9vQPD8/_new  2019-06-18 14:58:29.209326345 +0200
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-zodbpickle
-Version:        1.0.3
+Version:        1.0.4
 Release:        0
 Summary:        Fork of Python 3 pickle module
 License:        Python-2.0 AND ZPL-2.1

++++++ zodbpickle-1.0.3.tar.gz -> zodbpickle-1.0.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zodbpickle-1.0.3/.gitignore 
new/zodbpickle-1.0.4/.gitignore
--- old/zodbpickle-1.0.3/.gitignore     1970-01-01 01:00:00.000000000 +0100
+++ new/zodbpickle-1.0.4/.gitignore     2019-06-12 07:55:59.000000000 +0200
@@ -0,0 +1,16 @@
+*.egg-info
+*.pyc
+*.so
+.coverage
+.coverage.py*
+.dir-locals.el
+.installed.cfg
+.tox
+__pycache__
+bin
+build
+coverage.xml
+develop-eggs
+dist
+htmlcov
+parts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zodbpickle-1.0.3/.travis.yml 
new/zodbpickle-1.0.4/.travis.yml
--- old/zodbpickle-1.0.3/.travis.yml    1970-01-01 01:00:00.000000000 +0100
+++ new/zodbpickle-1.0.4/.travis.yml    2019-06-12 07:55:59.000000000 +0200
@@ -0,0 +1,76 @@
+language: python
+sudo: false
+python:
+    - 2.7
+    - 3.4
+    - 3.5
+    - 3.6
+    - pypy
+    - pypy3
+matrix:
+    include:
+        - python: 3.7
+          dist: xenial
+          sudo: true
+        # It's important to use 'macpython' builds to get the least
+        # restrictive wheel tag. It's also important to avoid
+        # 'homebrew 3' because it floats instead of being a specific version.
+        - os: osx
+          language: generic
+          env: TERRYFY_PYTHON='macpython 2.7'
+        - os: osx
+          language: generic
+          env: TERRYFY_PYTHON='macpython 3.4'
+        - os: osx
+          language: generic
+          env: TERRYFY_PYTHON='macpython 3.5'
+        - os: osx
+          language: generic
+          env: TERRYFY_PYTHON='macpython 3.6.1'
+        - os: osx
+          language: generic
+          env: TERRYFY_PYTHON='macpython 3.7.0'
+        - services:
+            - docker
+          env: DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
+          before_install:
+            - if [[ $TRAVIS_TAG ]]; then bash .manylinux.sh; fi
+            - exit 0
+        - services:
+            - docker
+          env:
+            - DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
+            - PRE_CMD=linux32
+          before_install:
+            - if [[ $TRAVIS_TAG ]]; then bash .manylinux.sh; fi
+            - exit 0
+before_install:
+    - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then git clone 
https://github.com/MacPython/terryfy; fi
+    - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then source 
terryfy/travis_tools.sh; fi
+    - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then get_python_environment 
$TERRYFY_PYTHON venv; fi
+install:
+    - pip install -U pip setuptools
+    - pip install -U coveralls coverage
+    - pip install .
+script:
+    - coverage run setup.py test -q
+notifications:
+    email: false
+after_success:
+    - coveralls
+    - echo [distutils]                                  > ~/.pypirc
+    - echo index-servers = pypi                        >> ~/.pypirc
+    - echo [pypi]                                      >> ~/.pypirc
+    - echo username=zope.wheelbuilder                  >> ~/.pypirc
+    - echo password=$PYPIPASSWORD                      >> ~/.pypirc
+    - if [[ $TRAVIS_TAG && "$TRAVIS_OS_NAME" == "osx" ]]; then pip install 
twine; fi
+    - if [[ $TRAVIS_TAG && "$TRAVIS_OS_NAME" == "osx" ]]; then python setup.py 
bdist_wheel; fi
+    - if [[ $TRAVIS_TAG && "$TRAVIS_OS_NAME" == "osx" ]]; then twine upload 
dist/*; fi
+env:
+    global:
+        secure: 
"edbJQIhe7grjaug7dxExoyB0zkrLca5IphzuQd2IfjGjBCY6Dn+QEBtDOMOcPjUsSvgxWL2XG2ZGIFF33bsoFlq0bZFPMtv5ZQ6jcpYQEpPX61fHsNzPs2RXavpHgHFC4aXt1o7jH7aSeImV98WWsNZTL5rhW4aHbgOM/jnnWdc="
+
+cache: pip
+
+before_cache:
+  - rm -f $HOME/.cache/pip/log/debug.log
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zodbpickle-1.0.3/CHANGES.rst 
new/zodbpickle-1.0.4/CHANGES.rst
--- old/zodbpickle-1.0.3/CHANGES.rst    2018-12-18 15:43:47.000000000 +0100
+++ new/zodbpickle-1.0.4/CHANGES.rst    2019-06-12 07:55:59.000000000 +0200
@@ -2,6 +2,13 @@
  Changelog
 ===========
 
+1.0.4 (2019-06-12)
+==================
+
+- Fix pickle corruption under certain conditions. See `pull request 47
+  <https://github.com/zopefoundation/zodbpickle/pull/47>`_.
+
+
 1.0.3 (2018-12-18)
 ==================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zodbpickle-1.0.3/PKG-INFO 
new/zodbpickle-1.0.4/PKG-INFO
--- old/zodbpickle-1.0.3/PKG-INFO       2018-12-18 15:43:48.000000000 +0100
+++ new/zodbpickle-1.0.4/PKG-INFO       2019-06-12 07:56:00.000000000 +0200
@@ -1,7 +1,7 @@
 Metadata-Version: 2.1
 Name: zodbpickle
-Version: 1.0.3
-Summary: Fork of Python 3 pickle module.
+Version: 1.0.4
+Summary: Fork of Python 2 and 3 pickle module.
 Home-page: https://github.com/zopefoundation/zodbpickle
 Author: Python and Zope Foundation
 Author-email: [email protected]
@@ -177,6 +177,13 @@
          Changelog
         ===========
         
+        1.0.4 (2019-06-12)
+        ==================
+        
+        - Fix pickle corruption under certain conditions. See `pull request 47
+          <https://github.com/zopefoundation/zodbpickle/pull/47>`_.
+        
+        
         1.0.3 (2018-12-18)
         ==================
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zodbpickle-1.0.3/setup.py 
new/zodbpickle-1.0.4/setup.py
--- old/zodbpickle-1.0.3/setup.py       2018-12-18 15:43:47.000000000 +0100
+++ new/zodbpickle-1.0.4/setup.py       2019-06-12 07:55:59.000000000 +0200
@@ -42,8 +42,8 @@
 
 setup(
     name='zodbpickle',
-    version='1.0.3',
-    description='Fork of Python 3 pickle module.',
+    version='1.0.4',
+    description='Fork of Python 2 and 3 pickle module.',
     author='Python and Zope Foundation',
     author_email='[email protected]',
     url='https://github.com/zopefoundation/zodbpickle',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zodbpickle-1.0.3/src/zodbpickle/_pickle_33.c 
new/zodbpickle-1.0.4/src/zodbpickle/_pickle_33.c
--- old/zodbpickle-1.0.3/src/zodbpickle/_pickle_33.c    2018-12-18 
15:43:47.000000000 +0100
+++ new/zodbpickle-1.0.4/src/zodbpickle/_pickle_33.c    2019-06-12 
07:55:59.000000000 +0200
@@ -736,7 +736,7 @@
                 PyErr_NoMemory();
                 return -1;
             }
-            self->max_output_len = (self->output_len + n) / 2 * 3;
+            self->max_output_len = (self->output_len + n) / 2 * 3 + 1;
             if (_PyBytes_Resize(&self->output_buffer, self->max_output_len) < 
0)
                 return -1;
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/zodbpickle-1.0.3/src/zodbpickle/tests/pickletester_3.py 
new/zodbpickle-1.0.4/src/zodbpickle/tests/pickletester_3.py
--- old/zodbpickle-1.0.3/src/zodbpickle/tests/pickletester_3.py 2018-12-18 
15:43:47.000000000 +0100
+++ new/zodbpickle-1.0.4/src/zodbpickle/tests/pickletester_3.py 2019-06-12 
07:55:59.000000000 +0200
@@ -1272,6 +1272,29 @@
             else:
                 self._check_pickling_with_opcode(obj, pickle.SETITEMS, proto)
 
+    def test_corrupted_pickle(self):
+        # Former C implementation produced corrupted pickles on these samples.
+        # See https://github.com/zopefoundation/zodbpickle/pull/47
+        sample1 = ['a'] * 17509
+        dumped = self.dumps(sample1, 0)
+        loaded = self.loads(dumped)
+        self.assertEqual(loaded, sample1)
+
+        sample2 = ['a'] * 34992
+        dumped = self.dumps(sample2, 1)
+        loaded = self.loads(dumped)
+        self.assertEqual(loaded, sample2)
+
+        sample3 = ['a'] * 34991
+        dumped = self.dumps(sample3, 2)
+        loaded = self.loads(dumped)
+        self.assertEqual(loaded, sample3)
+
+        sample4 = ['a'] * 34991
+        dumped = self.dumps(sample4, 3)
+        loaded = self.loads(dumped)
+        self.assertEqual(loaded, sample4)
+
 
 class AbstractBytestrTests(unittest.TestCase):
     def unpickleEqual(self, data, unpickled):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zodbpickle-1.0.3/src/zodbpickle.egg-info/PKG-INFO 
new/zodbpickle-1.0.4/src/zodbpickle.egg-info/PKG-INFO
--- old/zodbpickle-1.0.3/src/zodbpickle.egg-info/PKG-INFO       2018-12-18 
15:43:48.000000000 +0100
+++ new/zodbpickle-1.0.4/src/zodbpickle.egg-info/PKG-INFO       2019-06-12 
07:56:00.000000000 +0200
@@ -1,7 +1,7 @@
 Metadata-Version: 2.1
 Name: zodbpickle
-Version: 1.0.3
-Summary: Fork of Python 3 pickle module.
+Version: 1.0.4
+Summary: Fork of Python 2 and 3 pickle module.
 Home-page: https://github.com/zopefoundation/zodbpickle
 Author: Python and Zope Foundation
 Author-email: [email protected]
@@ -177,6 +177,13 @@
          Changelog
         ===========
         
+        1.0.4 (2019-06-12)
+        ==================
+        
+        - Fix pickle corruption under certain conditions. See `pull request 47
+          <https://github.com/zopefoundation/zodbpickle/pull/47>`_.
+        
+        
         1.0.3 (2018-12-18)
         ==================
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/zodbpickle-1.0.3/src/zodbpickle.egg-info/SOURCES.txt 
new/zodbpickle-1.0.4/src/zodbpickle.egg-info/SOURCES.txt
--- old/zodbpickle-1.0.3/src/zodbpickle.egg-info/SOURCES.txt    2018-12-18 
15:43:48.000000000 +0100
+++ new/zodbpickle-1.0.4/src/zodbpickle.egg-info/SOURCES.txt    2019-06-12 
07:56:00.000000000 +0200
@@ -1,6 +1,8 @@
 .coveragerc
+.gitignore
 .manylinux-install.sh
 .manylinux.sh
+.travis.yml
 CHANGES.rst
 LICENSE.txt
 MANIFEST.in


Reply via email to