[New-bugs-announce] [issue15947] Assigning new values to instance of pointer types does not check validity
Facundo Batista
report at bugs.python.org
Sat Sep 15 16:41:47 CEST 2012
New submission from Facundo Batista:
In the doc it says:
"""
Assigning a new value to instances of the pointer types c_char_p, c_wchar_p, and c_void_p changes the memory location they point to, not the contents of the memory block [...].
>>> s = "Hello, World"
>>> c_s = c_wchar_p(s)
>>> print(c_s)
c_wchar_p('Hello, World')
>>> c_s.value = "Hi, there"
>>> print(c_s)
c_wchar_p('Hi, there')
>>> print(s) # first object is unchanged
Hello, World
>>>
"""
However, c_s it's not getting "Hi, there" as "the memory location it points to", otherwise next access will surely segfault.
OTOH, if it *does* change the memory location, but the value is cached locally, which is the point of letting it change the memory location? Shouldn't it raise AttributeError or something?
Thanks!
----------
components: ctypes
messages: 170518
nosy: facundobatista
priority: normal
severity: normal
status: open
title: Assigning new values to instance of pointer types does not check validity
type: behavior
versions: Python 3.2
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue15947>
_______________________________________
More information about the New-bugs-announce
mailing list