From 850f09b2e30c58e338ca621e459c148650a4caa2 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 20 Sep 2011 16:35:30 +0200 Subject: tests: avoid use of freed pointer [spotted by coverity] This is only in tests/, but easy to fix, so... I've included extra context so you can see how var->value would be used in the following atoi call. >From cf9ae83fd2da8d7a289b048ef0feed4096f6d263 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 20 Sep 2011 16:32:59 +0200 Subject: [PATCH] avoid use of free'd pointer * asschk.c (set_type_var): Set var->value to NULL after freeing it, to avoid subsequent use of freed pointer. --- tests/ChangeLog | 6 ++++++ tests/asschk.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/ChangeLog b/tests/ChangeLog index b2e95f323..aa93f0780 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,9 @@ +2011-09-20 Jim Meyering + + avoid use of free'd pointer + * asschk.c (set_type_var): Set var->value to NULL after freeing it, + to avoid subsequent use of freed pointer. + 2009-10-13 Werner Koch * asschk.c (die): Replace this vararg macro by C-89 compliant diff --git a/tests/asschk.c b/tests/asschk.c index 3eb262178..c0108e71d 100644 --- a/tests/asschk.c +++ b/tests/asschk.c @@ -514,7 +514,10 @@ set_type_var (const char *name, const char *value, VARTYPE type) variable_list = var; } else - free (var->value); + { + free (var->value); + var->value = NULL; + } if (var->type == VARTYPE_FD && var->value) { -- cgit v1.2.3