diff options
| -rw-r--r-- | lang/python/gpgme.i | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/lang/python/gpgme.i b/lang/python/gpgme.i index e3695823..f466a874 100644 --- a/lang/python/gpgme.i +++ b/lang/python/gpgme.i @@ -1,4 +1,5 @@  /* +# Copyright (C) 2016 g10 Code GmbH  # Copyright (C) 2004,2008 Igor Belyi <[email protected]>  # Copyright (C) 2002 John Goerzen <[email protected]>  # @@ -42,11 +43,11 @@  %typemap(freearg) const char * "";  /* Likewise for a list of strings.  */ -%typemap(in) const char *[] { +%typemap(in) const char *[] (void *vector = NULL) {    /* Check if is a list */    if (PyList_Check($input)) {      size_t i, size = PyList_Size($input); -    $1 = (char **) malloc((size+1) * sizeof(char *)); +    $1 = (char **) (vector = malloc((size+1) * sizeof(char *)));      for (i = 0; i < size; i++) {        PyObject *o = PyList_GetItem($input,i); @@ -72,7 +73,7 @@    }  }  %typemap(freearg) const char *[] { -  free((char *) $1); +  free(vector$argnum);  }  // Release returned buffers as necessary. | 
