summaryrefslogtreecommitdiffstats
path: root/src/cli/report.cpp
diff options
context:
space:
mode:
authorNikola Pajkovsky <npajkovs@redhat.com>2011-03-30 15:47:18 +0200
committerNikola Pajkovsky <npajkovs@redhat.com>2011-03-30 15:47:18 +0200
commit1ca617eca5b2494a70198c1b380849d80d31bfcc (patch)
treeffac166a82d4c734dd8b18855435675e465a00e4 /src/cli/report.cpp
parentb50f8130591121bc0ce75e7046c592ac921a26cc (diff)
parent19958ce67a9870b32a5e99df4a9d6f7e53759bcb (diff)
downloadabrt-1ca617eca5b2494a70198c1b380849d80d31bfcc.tar.gz
abrt-1ca617eca5b2494a70198c1b380849d80d31bfcc.tar.xz
abrt-1ca617eca5b2494a70198c1b380849d80d31bfcc.zip
Merge branch 'validation-fix'
* validation-fix: better validation for numbers make validate_event_option static fix memory leak rename misleading variable
Diffstat (limited to 'src/cli/report.cpp')
-rw-r--r--src/cli/report.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/cli/report.cpp b/src/cli/report.cpp
index d06e5620..172cb8f8 100644
--- a/src/cli/report.cpp
+++ b/src/cli/report.cpp
@@ -459,13 +459,16 @@ static void ask_for_missing_settings(const char *event_name)
event_config_t *event_config = get_event_config(event_name);
GHashTableIter iter;
- char *opt_value, *err_msg;
+ char *opt_name, *err_msg;
g_hash_table_iter_init(&iter, error_table);
- while (g_hash_table_iter_next(&iter, (void**)&opt_value, (void**)&err_msg))
+ while (g_hash_table_iter_next(&iter, (void**)&opt_name, (void**)&err_msg))
{
- event_option_t *opt = get_event_option_from_list(opt_value,
+ event_option_t *opt = get_event_option_from_list(opt_name,
event_config->options);
+ free(opt->value);
+ opt->value = NULL;
+
char result[512];
char *question = xasprintf("%s: ", (opt->label) ? opt->label: opt->name);
@@ -510,8 +513,8 @@ static void ask_for_missing_settings(const char *event_name)
log(_("Your input is not valid, because of:"));
g_hash_table_iter_init(&iter, error_table);
- while (g_hash_table_iter_next(&iter, (void**)&opt_value, (void**)&err_msg))
- log(_("Bad value for '%s': %s"), opt_value, err_msg);
+ while (g_hash_table_iter_next(&iter, (void**)&opt_name, (void**)&err_msg))
+ log(_("Bad value for '%s': %s"), opt_name, err_msg);
g_hash_table_destroy(error_table);
}