Don't leak memory on python fi.Digest() calls
authorPanu Matilainen <pmatilai@redhat.com>
Tue, 3 Jun 2008 06:09:00 +0000 (09:09 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Tue, 3 Jun 2008 06:09:00 +0000 (09:09 +0300)
python/rpmfi-py.c

index 241ecc1..b3ef5f3 100644 (file)
@@ -95,11 +95,11 @@ rpmfi_FState(rpmfiObject * s)
 static PyObject *
 rpmfi_Digest(rpmfiObject * s)
 {
-    const unsigned char *digest;
-
-    digest = rpmfiFDigestHex(s->fi, NULL);
+    char *digest = rpmfiFDigestHex(s->fi, NULL);
     if (digest) {
-       return Py_BuildValue("s", digest);
+       PyObject *dig = Py_BuildValue("s", digest);
+       free(digest);
+       return dig;
     } else {
        Py_RETURN_NONE;
     }