aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2009-12-02 19:00:10 +0000
committerWerner Koch <[email protected]>2009-12-02 19:00:10 +0000
commitedd95da365b92832692c646fe815fcca50aadba3 (patch)
treed8d61754edd658367c082221d87af3f068e4b8b8
parentMore stuff for the audit-log. (diff)
downloadgnupg-edd95da365b92832692c646fe815fcca50aadba3.tar.gz
gnupg-edd95da365b92832692c646fe815fcca50aadba3.zip
Fix usage of realloc.
-rw-r--r--agent/ChangeLog7
-rw-r--r--agent/trustlist.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/agent/ChangeLog b/agent/ChangeLog
index 25034d89c..139360d77 100644
--- a/agent/ChangeLog
+++ b/agent/ChangeLog
@@ -1,3 +1,10 @@
+2009-12-02 Werner Koch <[email protected]>
+
+ * trustlist.c (read_trustfiles): Store the pointer returned from
+ shrinking the memory and not the orginal one. Fixes bug#1163.
+ Reported by TAKAHASHI Tamotsu. Also return correct error after
+ memory failure.
+
2009-11-27 Marcus Brinkmann <[email protected]>
* command.c (start_command_handler): Do not call
diff --git a/agent/trustlist.c b/agent/trustlist.c
index a0b23b51f..be5406b05 100644
--- a/agent/trustlist.c
+++ b/agent/trustlist.c
@@ -361,13 +361,14 @@ read_trustfiles (void)
ti = xtryrealloc (table, (tableidx?tableidx:1) * sizeof *table);
if (!ti)
{
+ err = gpg_error_from_syserror ();
xfree (table);
return err;
}
lock_trusttable ();
xfree (trusttable);
- trusttable = table;
+ trusttable = ti;
trusttablesize = tableidx;
unlock_trusttable ();
return 0;