diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-01-13 12:13:45 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-01-13 20:20:03 +0000 |
commit | bc23f797296582d5aca5029dd34244de41ff8605 (patch) | |
tree | c582e37dbe1f7186d2a8f16e8c6b22ab608b055d /ui | |
parent | a988253fef15e6a0ddd05b0fb06e18ccde00082b (diff) |
UAT error string pointers should not be const pointers.
UAT error strings are usually allocated by g_strdup() or
g_strdup_printf(), and must ultimately be freed by the caller.
Make the pointer-to-error-string-pointer arguments to various functions
be "char **", not "const char **".
Fix cases that finds where a raw string was being used, as that won't
work if you try to free it; g_strdup() it instead.
Add a missing free of an error string.
Remove some no-longer-necessary casts.
Remove some unnecessary g_strdup()s (the string being handed to it was
already g_malloc()ated).
Change some variable declarations to match.
Put in XXX comments for some cases where the error string is just freed,
without being shown to the user.
Change-Id: I40297746a2ef729c56763baeddbb0842386fa0d0
Reviewed-on: https://code.wireshark.org/review/6525
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'ui')
-rw-r--r-- | ui/gtk/uat_gui.c | 4 | ||||
-rw-r--r-- | ui/qt/uat_dialog.cpp | 10 |
2 files changed, 8 insertions, 6 deletions
diff --git a/ui/gtk/uat_gui.c b/ui/gtk/uat_gui.c index 3321420bf1..2783dc5fcf 100644 --- a/ui/gtk/uat_gui.c +++ b/ui/gtk/uat_gui.c @@ -362,7 +362,7 @@ static gboolean uat_dlg_cb(GtkWidget *win _U_, gpointer user_data) { } if (f[colnum].cb.chk) { - if (! f[colnum].cb.chk(dd->rec, text, len, f[colnum].cbdata.chk, f[colnum].fld_data, (const char**)&err)) { + if (! f[colnum].cb.chk(dd->rec, text, len, f[colnum].cbdata.chk, f[colnum].fld_data, &err)) { tmp_err = err; err = g_strdup_printf("error in column '%s': %s", f[colnum].title, tmp_err); g_free(tmp_err); @@ -376,7 +376,7 @@ static gboolean uat_dlg_cb(GtkWidget *win _U_, gpointer user_data) { } if (dd->uat->update_cb) { - dd->uat->update_cb(dd->rec, (const char**)&err); + dd->uat->update_cb(dd->rec, &err); if (err) { tmp_err = err; diff --git a/ui/qt/uat_dialog.cpp b/ui/qt/uat_dialog.cpp index 9c0bb1051d..82fd89c8c7 100644 --- a/ui/qt/uat_dialog.cpp +++ b/ui/qt/uat_dialog.cpp @@ -372,13 +372,14 @@ void UatDialog::enumPrefCurrentIndexChanged(int index) void *rec = UAT_INDEX_PTR(uat_, row); uat_field_t *field = &uat_->fields[cur_column_]; const QByteArray& enum_txt = cur_combo_box_->itemText(index).toUtf8(); - const char *err = NULL; + char *err = NULL; if (field->cb.chk && field->cb.chk(rec, enum_txt.constData(), (unsigned) enum_txt.size(), field->cbdata.chk, field->fld_data, &err)) { field->cb.set(rec, enum_txt.constData(), (unsigned) enum_txt.size(), field->cbdata.set, field->fld_data); ok_button_->setEnabled(true); } else { - g_free((char*)err); + /* XXX - do something useful with the error message string */ + g_free(err); ok_button_->setEnabled(false); } uat_->changed = TRUE; @@ -395,7 +396,7 @@ void UatDialog::stringPrefTextChanged(const QString &text) void *rec = UAT_INDEX_PTR(uat_, row); uat_field_t *field = &uat_->fields[cur_column_]; const QByteArray& txt = text.toUtf8(); - const char *err = NULL; + char *err = NULL; bool enable_ok = true; SyntaxLineEdit::SyntaxState ss = SyntaxLineEdit::Empty; @@ -405,7 +406,8 @@ void UatDialog::stringPrefTextChanged(const QString &text) saved_string_pref_ = text; ss = SyntaxLineEdit::Valid; } else { - g_free((char*)err); + /* XXX - do something useful with the error message string */ + g_free(err); enable_ok = false; ss = SyntaxLineEdit::Invalid; } |