forked from pool/python310
- gh-131809: Update bundled libexpat to 2.7.1
- gh-131261: Upgrade to libexpat 2.7.0
- gh-105704: When using urllib.parse.urlsplit() and
urllib.parse.urlparse() host parsing would not reject domain
names containing square brackets ([ and ]). Square brackets
are only valid for IPv6 and IPvFuture hosts according to RFC
3986 Section 3.2.2 (bsc#1236705, CVE-2025-0938,
gh#python/cpython#105704).
- gh-121284: Fix bug in the folding of rfc2047 encoded-words
when flattening an email message using a modern email
policy. Previously when an encoded-word was too long for
a line, it would be decoded, split across lines, and
re-encoded. But commas and other special characters in the
original text could be left unencoded and unquoted. This
could theoretically be used to spoof header lines using a
carefully constructed encoded-word if the resulting rendered
email was transmitted or re-parsed.
- gh-80222: Fix bug in the folding of quoted strings
when flattening an email message using a modern email
policy. Previously when a quoted string was folded so that
it spanned more than one line, the surrounding quotes and
internal escapes would be omitted. This could theoretically
be used to spoof header lines using a carefully constructed
quoted string if the resulting rendered email was transmitted
or re-parsed.
- gh-119511: Fix a potential denial of service in the imaplib
module. When connecting to a malicious server, it could
cause an arbitrary amount of memory to be allocated. On many
systems this is harmless as unused virtual memory is only
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python310?expand=0&rev=171
31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
From 6c8ea7c1dacd42f3ba00440231ec0e6b1a38300d Mon Sep 17 00:00:00 2001
|
|
From: Inada Naoki <songofacandy@gmail.com>
|
|
Date: Sat, 14 Jul 2018 00:46:11 +0900
|
|
Subject: [PATCH] Use FLAG_REF always for interned strings
|
|
|
|
---
|
|
Python/marshal.c | 9 +++++++--
|
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
|
|
|
Index: Python-3.10.12/Python/marshal.c
|
|
===================================================================
|
|
--- Python-3.10.12.orig/Python/marshal.c
|
|
+++ Python-3.10.12/Python/marshal.c
|
|
@@ -298,9 +298,14 @@ w_ref(PyObject *v, char *flag, WFILE *p)
|
|
if (p->version < 3 || p->hashtable == NULL)
|
|
return 0; /* not writing object references */
|
|
|
|
- /* if it has only one reference, it definitely isn't shared */
|
|
- if (Py_REFCNT(v) == 1)
|
|
+ /* If it has only one reference, it definitely isn't shared.
|
|
+ * But we use TYPE_REF always for interned string, to PYC file stable
|
|
+ * as possible.
|
|
+ */
|
|
+ if (Py_REFCNT(v) == 1 &&
|
|
+ !(PyUnicode_CheckExact(v) && PyUnicode_CHECK_INTERNED(v))) {
|
|
return 0;
|
|
+ }
|
|
|
|
entry = _Py_hashtable_get_entry(p->hashtable, v);
|
|
if (entry != NULL) {
|