Author: Matti Picus <[email protected]>
Branch: unicode-utf8
Changeset: r95526:0d5a37575018
Date: 2018-12-24 14:30 +0200
http://bitbucket.org/pypy/pypy/changeset/0d5a37575018/
Log: check for ascii field name
diff --git a/pypy/module/_rawffi/structure.py b/pypy/module/_rawffi/structure.py
--- a/pypy/module/_rawffi/structure.py
+++ b/pypy/module/_rawffi/structure.py
@@ -14,7 +14,7 @@
from pypy.module._rawffi.interp_rawffi import unroll_letters_for_numbers
from pypy.module._rawffi.interp_rawffi import size_alignment
from pypy.module._rawffi.interp_rawffi import read_ptr, write_ptr
-from rpython.rlib import clibffi, rgc
+from rpython.rlib import clibffi, rgc, rutf8
from rpython.rlib.rarithmetic import intmask, signedtype, r_uint, \
r_ulonglong
from rpython.rtyper.lltypesystem import lltype, rffi
@@ -163,6 +163,10 @@
if name in name_to_index:
raise oefmt(space.w_ValueError,
"duplicate field name %s", name)
+ try:
+ rutf8.check_ascii(name)
+ except rutf8.CheckError:
+ raise oefmt(space.w_TypeError, 'non-ascii field name')
name_to_index[name] = i
size, alignment, pos, bitsizes = size_alignment_pos(
fields, is_union, pack)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit