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

Reply via email to