You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Alan Conway (JIRA)" <ji...@apache.org> on 2014/09/23 22:44:34 UTC

[jira] [Resolved] (PROTON-695) New URL code causing invalid reads/writes according to valgrind

     [ https://issues.apache.org/jira/browse/PROTON-695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alan Conway resolved PROTON-695.
--------------------------------
       Resolution: Fixed
    Fix Version/s: 0.8

Damn, I was sure I'd get the fix in before you spotted that. Fixed by 

r1627086 | PROTON-693: Implement C-API wrappers in Java for jython, clean up Url implementation.
r1627155 |  PROTON-693: Make pn_url_t a proper pn_class object, hashable & comparable.


> New URL code causing invalid reads/writes according to valgrind
> ---------------------------------------------------------------
>
>                 Key: PROTON-695
>                 URL: https://issues.apache.org/jira/browse/PROTON-695
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c, python-binding
>    Affects Versions: 0.8
>            Reporter: Andrew Stitcher
>            Assignee: Alan Conway
>             Fix For: 0.8
>
>
> Getting these messages from valgrinding the python tests:
> {noformat}
> proton_tests.url.UrlTest.testArgs ............................................................................................................................==18678== Invalid write of size 1
> ==18678==    at 0x4A092A3: strcpy (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C51AF: copy (url.c:33)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DCEC: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0xb9a6179 is 0 bytes after a block of size 25 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DCEC: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A09244: strlen (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5189: copy (url.c:32)
> ==18678==    by 0xF8C530D: pn_url_parse (url.c:69)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DCEC: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0xb9a6179 is 0 bytes after a block of size 25 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DCEC: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A09294: strcpy (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C51AF: copy (url.c:33)
> ==18678==    by 0xF8C530D: pn_url_parse (url.c:69)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DCEC: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0xb9a6179 is 0 bytes after a block of size 25 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DCEC: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A09244: strlen (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF64D93A: SWIG_FromCharPtr (cprotonPYTHON_wrap.c:3383)
> ==18678==    by 0xF67E366: _wrap_pn_url_path (cprotonPYTHON_wrap.c:22714)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE4A62E: PyObject_CallFunctionObjArgs (abstract.c:2760)
> ==18678==    by 0x3C1EE84760: _PyObject_GenericGetAttrWithDict (object.c:1439)
> ==18678==    by 0x3C1EED534B: builtin_getattr (bltinmodule.c:837)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==  Address 0x1491b7f4 is 0 bytes after a block of size 4 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C530D: pn_url_parse (url.c:69)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DCEC: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
>  pass
> proton_tests.url.UrlTest.testDefaults ........................................................................................................................==18678== Invalid read of size 1
> ==18678==    at 0x4A09244: strlen (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C53DF: len (url.c:89)
> ==18678==    by 0xF8C5416: pn_url_str (url.c:93)
> ==18678==    by 0xF67DD44: _wrap_pn_url_str (cprotonPYTHON_wrap.c:22555)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EED8A36: PyEval_CallObjectWithKeywords (ceval.c:3967)
> ==18678==    by 0x3C1EE9EEFF: slot_tp_str (typeobject.c:5372)
> ==18678==  Address 0x513f252 is 0 bytes after a block of size 2 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C580E: pn_url_set_username (url.c:123)
> ==18678==    by 0xF67E661: _wrap_pn_url_set_username (cprotonPYTHON_wrap.c:22783)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9DD92: call_method (typeobject.c:1261)
> ==18678==    by 0x3C1EE9E4A7: slot_tp_descr_set (typeobject.c:5675)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x3721448DF9: vfprintf (vfprintf.c:1635)
> ==18678==    by 0x3721474F88: vsnprintf (vsnprintf.c:119)
> ==18678==    by 0x3721451ED1: snprintf (snprintf.c:34)
> ==18678==    by 0xF8C554C: pn_url_str (url.c:102)
> ==18678==    by 0xF67DD44: _wrap_pn_url_str (cprotonPYTHON_wrap.c:22555)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EED8A36: PyEval_CallObjectWithKeywords (ceval.c:3967)
> ==18678==  Address 0x513f252 is 0 bytes after a block of size 2 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C580E: pn_url_set_username (url.c:123)
> ==18678==    by 0xF67E661: _wrap_pn_url_set_username (cprotonPYTHON_wrap.c:22783)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9DD92: call_method (typeobject.c:1261)
> ==18678==    by 0x3C1EE9E4A7: slot_tp_descr_set (typeobject.c:5675)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A08D80: index (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5613: pn_url_str (url.c:106)
> ==18678==    by 0xF67DD44: _wrap_pn_url_str (cprotonPYTHON_wrap.c:22555)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EED8A36: PyEval_CallObjectWithKeywords (ceval.c:3967)
> ==18678==    by 0x3C1EE9EEFF: slot_tp_str (typeobject.c:5372)
> ==18678==    by 0x3C1EE83739: _PyObject_Str (object.c:430)
> ==18678==  Address 0x10c4d046 is 0 bytes after a block of size 6 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C587A: pn_url_set_host (url.c:125)
> ==18678==    by 0xF67E999: _wrap_pn_url_set_host (cprotonPYTHON_wrap.c:22857)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9DD92: call_method (typeobject.c:1261)
> ==18678==    by 0x3C1EE9E4A7: slot_tp_descr_set (typeobject.c:5675)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A0C034: strstr (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C4CA2: pni_parse_url (util.c:154)
> ==18678==    by 0xF8C5264: pn_url_parse (url.c:63)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0x112322d7 is 0 bytes after a block of size 23 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A09232: strlen (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5189: copy (url.c:32)
> ==18678==    by 0xF8C530D: pn_url_parse (url.c:69)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0x10b31b67 is 0 bytes after a block of size 7 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A09277: strcpy (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C51AF: copy (url.c:33)
> ==18678==    by 0xF8C530D: pn_url_parse (url.c:69)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0x10b31b67 is 0 bytes after a block of size 7 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A09232: strlen (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF64D93A: SWIG_FromCharPtr (cprotonPYTHON_wrap.c:3383)
> ==18678==    by 0xF67E366: _wrap_pn_url_path (cprotonPYTHON_wrap.c:22714)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE4A62E: PyObject_CallFunctionObjArgs (abstract.c:2760)
> ==18678==    by 0x3C1EE84760: _PyObject_GenericGetAttrWithDict (object.c:1439)
> ==18678==    by 0x3C1EEDA778: PyEval_EvalFrameEx (ceval.c:2330)
> ==18678==    by 0x3C1EEDD74B: PyEval_EvalFrameEx (ceval.c:4184)
> ==18678==    by 0x3C1EEDD74B: PyEval_EvalFrameEx (ceval.c:4184)
> ==18678==  Address 0x4c99ab0 is 0 bytes after a block of size 0 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C530D: pn_url_parse (url.c:69)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A08D80: index (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C4C76: pni_parse_url (util.c:151)
> ==18678==    by 0xF8C5264: pn_url_parse (url.c:63)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0x10b31e16 is 0 bytes after a block of size 6 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A08D80: index (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C4D18: pni_parse_url (util.c:169)
> ==18678==    by 0xF8C5264: pn_url_parse (url.c:63)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0x10b31e16 is 0 bytes after a block of size 6 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A08D80: index (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C4DF6: pni_parse_url (util.c:193)
> ==18678==    by 0xF8C5264: pn_url_parse (url.c:63)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0x10b31e16 is 0 bytes after a block of size 6 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
>  pass
> proton_tests.url.UrlTest.testMissing .........................................................................................................................==18678== Invalid read of size 1
> ==18678==    at 0x3721531AE0: __strchr_sse42 (strchr.S:90)
> ==18678==    by 0xF8C4CE6: pni_parse_url (util.c:160)
> ==18678==    by 0xF8C5264: pn_url_parse (url.c:63)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0xd6bb767 is 0 bytes after a block of size 7 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x3721531AE0: __strchr_sse42 (strchr.S:90)
> ==18678==    by 0xF8C4D18: pni_parse_url (util.c:169)
> ==18678==    by 0xF8C5264: pn_url_parse (url.c:63)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0xd6bb767 is 0 bytes after a block of size 7 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0xF8C4D8B: pni_parse_url (util.c:183)
> ==18678==    by 0xF8C5264: pn_url_parse (url.c:63)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==  Address 0xd6bb767 is 0 bytes after a block of size 7 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x3721531AE0: __strchr_sse42 (strchr.S:90)
> ==18678==    by 0xF8C4DF6: pni_parse_url (util.c:193)
> ==18678==    by 0xF8C5264: pn_url_parse (url.c:63)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==  Address 0xd6bb767 is 0 bytes after a block of size 7 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0xF8C52C0: pn_url_parse (url.c:67)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EEDB61B: PyEval_EvalFrameEx (ceval.c:4316)
> ==18678==  Address 0xd6bb767 is 0 bytes after a block of size 7 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C5224: pn_url_parse (url.c:62)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> ==18678== Invalid read of size 1
> ==18678==    at 0x4A09232: strlen (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C53DF: len (url.c:89)
> ==18678==    by 0xF8C5416: pn_url_str (url.c:93)
> ==18678==    by 0xF67DD44: _wrap_pn_url_str (cprotonPYTHON_wrap.c:22555)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EED8A36: PyEval_CallObjectWithKeywords (ceval.c:3967)
> ==18678==    by 0x3C1EE9EEFF: slot_tp_str (typeobject.c:5372)
> ==18678==  Address 0xe832d80 is 0 bytes after a block of size 0 alloc'd
> ==18678==    at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==18678==    by 0xF8C5191: copy (url.c:32)
> ==18678==    by 0xF8C528A: pn_url_parse (url.c:65)
> ==18678==    by 0xF67DA2A: _wrap_pn_url_parse (cprotonPYTHON_wrap.c:22477)
> ==18678==    by 0x3C1EEDDC2D: PyEval_EvalFrameEx (ceval.c:4098)
> ==18678==    by 0x3C1EEDEBBC: PyEval_EvalCodeEx (ceval.c:3330)
> ==18678==    by 0x3C1EE6DC0F: function_call (funcobject.c:526)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE58514: instancemethod_call (classobject.c:2602)
> ==18678==    by 0x3C1EE49DA2: PyObject_Call (abstract.c:2529)
> ==18678==    by 0x3C1EE9E8B6: slot_tp_init (typeobject.c:5692)
> ==18678==    by 0x3C1EE9D61E: type_call (typeobject.c:745)
> ==18678== 
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)