[issue26595] Segfault on Pointer operation

2016-03-20 Thread Emin Ghuliev

Changes by Emin Ghuliev :


--
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26595] Segfault on Pointer operation

2016-03-20 Thread Emin Ghuliev

Changes by Emin Ghuliev :


--
components: +ctypes
type:  -> crash
versions: +Python 2.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue26595] Segfault on Pointer operation

2016-03-20 Thread Emin Ghuliev

New submission from Emin Ghuliev:

I'm trying use a pointer on python script but when executing the following code 
getting error. (Segmentation fault)


dmr@debian:~$ python test.py
Segmentation fault


self.mem  = c_char_p(mem)

pointer(self.binning())[0] = 0x41414141


output: 
[--registers---]
EAX: 0x0 
EBX: 0xb7aee000 --> 0x21e4c 
ECX: 0x1 
EDX: 0x41414141 ('')
ESI: 0x41414141 ('')
EDI: 0x41414141 ('')
EBP: 0xb7b0eb3c --> 0xc ('\x0c')
ESP: 0xbfffeb74 --> 0x0 
EIP: 0xb7dfc4b6 (<__strlen_sse2_bsf+22>:movdqu xmm1,XMMWORD PTR [edi])
EFLAGS: 0x10287 (CARRY PARITY adjust zero SIGN trap INTERRUPT direction 
overflow)
[-code-]
   0xb7dfc4ad <__strlen_sse2_bsf+13>:   pxor   xmm0,xmm0
   0xb7dfc4b1 <__strlen_sse2_bsf+17>:   cmpecx,0x30
   0xb7dfc4b4 <__strlen_sse2_bsf+20>:   ja 0xb7dfc4cd <__strlen_sse2_bsf+45>
=> 0xb7dfc4b6 <__strlen_sse2_bsf+22>:   movdqu xmm1,XMMWORD PTR [edi]
   0xb7dfc4ba <__strlen_sse2_bsf+26>:   pcmpeqb xmm0,xmm1
   0xb7dfc4be <__strlen_sse2_bsf+30>:   pmovmskb edx,xmm0
   0xb7dfc4c2 <__strlen_sse2_bsf+34>:   test   edx,edx
   0xb7dfc4c4 <__strlen_sse2_bsf+36>:   jne0xb7dfc539 
<__strlen_sse2_bsf+153>
[stack-]


BUG on ctypes module 

.//source/cfield.c:1328

static PyObject *
z_get(void *ptr, unsigned size)
{
/* XXX What about invalid pointers ??? */
if (*(void **)ptr) {
#if defined(MS_WIN32) && !defined(_WIN32_WCE)
if (IsBadStringPtrA(*(char **)ptr, -1)) {
PyErr_Format(PyExc_ValueError,
 "invalid string pointer %p",
 *(char **)ptr);
return NULL;
}
#endif
return PyString_FromString(*(char **)ptr); < === passing 
pointer as argument
} else {
Py_INCREF(Py_None);
return Py_None;
}
}
./Objects/stringobject.c:
PyObject *
PyString_FromString(const char *str = this value assigned to 0x41414141 address)
{
register size_t size;
register PyStringObject *op;

assert(str != NULL);
size = strlen(str); < argument address 0x41414141

--
files: alloc.py
messages: 262077
nosy: Emin Ghuliev
priority: normal
severity: normal
status: open
title: Segfault on Pointer operation
Added file: http://bugs.python.org/file42224/alloc.py

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com