--- bindings/Python/src/pisock_wrap.c	2006-03-24 21:07:52.000000000 +0100
+++ bindings/Python/src/pisock_wrap.c	2016-12-20 15:03:35.066297623 +0100
@@ -1211,7 +1211,7 @@
     obj = pyobj;
     if (PyCFunction_Check(obj)) {
       /* here we get the method pointer for callbacks */
-      char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+      const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
       c = doc ? strstr(doc, "swig_ptr: ") : 0;
       if (c) {
 	c = ty ? SWIG_UnpackVoidPtr(c + 10, &vptr, ty->name) : 0;
@@ -5827,18 +5827,16 @@
 
 static PyObject *_wrap_delete_PilotUser(PyObject *self, PyObject *args) {
     PyObject *resultobj = NULL;
-    struct PilotUser *arg1 = (struct PilotUser *) 0 ;
-    struct PilotUser temp1 ;
-    
-    
-    arg1 = &temp1;
+    struct PilotUser *arg1 = (struct PilotUser *) malloc(sizeof(struct PilotUser));
+
+    if(!arg1) goto fail;
     
     if(!PyArg_ParseTuple(args,(char *)":delete_PilotUser")) goto fail;
-    free((char *) arg1);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     
     if (arg1) resultobj = t_output_helper(resultobj, PyObjectFromPilotUser(arg1));
+    free(arg1);
     
     return resultobj;
     fail:
@@ -6337,18 +6335,16 @@
 
 static PyObject *_wrap_delete_SysInfo(PyObject *self, PyObject *args) {
     PyObject *resultobj = NULL;
-    struct SysInfo *arg1 = (struct SysInfo *) 0 ;
-    struct SysInfo temp1 ;
+    struct SysInfo *arg1 = (struct SysInfo *) malloc(sizeof(struct SysInfo));
     
-    
-    arg1 = &temp1;
+    if(!arg1) goto fail;
     
     if(!PyArg_ParseTuple(args,(char *)":delete_SysInfo")) goto fail;
-    free((char *) arg1);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     
     if (arg1) resultobj = t_output_helper(resultobj, PyObjectFromSysInfo(arg1));
+    free(arg1);
     
     return resultobj;
     fail:
@@ -12905,7 +12905,7 @@
     swig_type_info **types_initial) {
         size_t i;
         for (i = 0; methods[i].ml_name; ++i) {
-            char *c = methods[i].ml_doc;
+            const char *c = methods[i].ml_doc;
             if (c && (c = strstr(c, "swig_ptr: "))) {
                 int j;
                 swig_const_info *ci = 0;
@@ -12909,7 +12909,7 @@
             if (c && (c = strstr(c, "swig_ptr: "))) {
                 int j;
                 swig_const_info *ci = 0;
-                char *name = c + 10;
+                const char *name = c + 10;
                 for (j = 0; const_table[j].type; ++j) {
                     if (strncmp(const_table[j].name, name, 
                     strlen(const_table[j].name)) == 0) {
