aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gpgmeplug/ChangeLog7
-rw-r--r--gpgmeplug/gpgmeplug.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/gpgmeplug/ChangeLog b/gpgmeplug/ChangeLog
index 85bc4ed7..bf8acd8d 100644
--- a/gpgmeplug/ChangeLog
+++ b/gpgmeplug/ChangeLog
@@ -1,3 +1,10 @@
+2002-07-01 Werner Koch <[email protected]>
+
+ * gpgmeplug.c (findCertificates): Reintroduced a free which must
+ have been removed after my last fix. This avoids a memory leak
+ when a fingerprint was not found. Removed the double loop
+ increment in the code to release the arrays.
+
2002-06-28 Werner Koch <[email protected]>
* gpgmeplug.c (xmalloc): New.
diff --git a/gpgmeplug/gpgmeplug.c b/gpgmeplug/gpgmeplug.c
index f681b1ee..538f569e 100644
--- a/gpgmeplug/gpgmeplug.c
+++ b/gpgmeplug/gpgmeplug.c
@@ -2363,6 +2363,7 @@ bool findCertificates( const char* addressee,
break;
}
}
+ free (dn);
}
}
}
@@ -2378,7 +2379,7 @@ bool findCertificates( const char* addressee,
*certificates = xmalloc( sizeof(char) * siz );
memset( *certificates, 0, sizeof(char) * siz );
/* fill the buffer */
- for( iFound=0; iFound < nFound; ++iFound ) {
+ for (iFound=0; iFound < nFound; iFound++) {
if( !iFound )
strcpy(*certificates, DNs[iFound] );
else {
@@ -2388,7 +2389,6 @@ bool findCertificates( const char* addressee,
strcat( *certificates, openBracket );
strcat( *certificates, FPRs[iFound] );
strcat( *certificates, closeBracket );
- ++iFound;
free( DNs[ iFound ] );
free( FPRs[iFound ] );
}