[Pkg-gnupg-commit] [gpgme] 161/412: python: Fix error handling.
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Thu Sep 22 21:26:38 UTC 2016
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch master
in repository gpgme.
commit f8f9bf06bc3190968ba6613032d60a3bf2c8a6d9
Author: Justus Winter <justus at g10code.com>
Date: Tue Jun 7 16:07:33 2016 +0200
python: Fix error handling.
* lang/python/gpgme.i: Fix freeing an uninitialized pointer in the
error handling of generated wrapper functions by explicitly storing
the pointer in a local variable which can be initialized.
Signed-off-by: Justus Winter <justus at g10code.com>
---
lang/python/gpgme.i | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lang/python/gpgme.i b/lang/python/gpgme.i
index e369582..f466a87 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 <belyi at users.sourceforge.net>
# Copyright (C) 2002 John Goerzen <jgoerzen at complete.org>
#
@@ -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.
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gpgme.git
More information about the Pkg-gnupg-commit
mailing list