filechooserwidget: Avoid an uninitialized value

If the operation mode is OPERATION_MODE_RECENT and we end up in the
'goto file_entry' case, we don't set info.result. Then later after
calling check_save_entry, is_empty is TRUE which causes a goto out and
here we then try to use info.result, which is uninitialized.

Initialize info.result before doing all this.

Found by scan-build
This commit is contained in:
Timm Bäder 2020-10-15 06:57:13 +02:00
parent 3db5e15bde
commit f6ebc06767

View File

@ -5395,6 +5395,10 @@ gtk_file_chooser_widget_get_files (GtkFileChooser *chooser)
if (impl->operation_mode == OPERATION_MODE_SEARCH) if (impl->operation_mode == OPERATION_MODE_SEARCH)
return get_selected_files_as_model (impl); return get_selected_files_as_model (impl);
info.impl = impl;
info.result = g_list_store_new (G_TYPE_FILE);
info.file_from_entry = NULL;
if (impl->operation_mode == OPERATION_MODE_RECENT) if (impl->operation_mode == OPERATION_MODE_RECENT)
{ {
if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE) if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE)
@ -5403,13 +5407,12 @@ gtk_file_chooser_widget_get_files (GtkFileChooser *chooser)
goto file_entry; goto file_entry;
} }
else else
return get_selected_files_as_model (impl); {
g_object_unref (info.result);
return get_selected_files_as_model (impl);
}
} }
info.impl = impl;
info.result = g_list_store_new (G_TYPE_FILE);
info.file_from_entry = NULL;
toplevel = get_toplevel (GTK_WIDGET (impl)); toplevel = get_toplevel (GTK_WIDGET (impl));
if (toplevel) if (toplevel)
current_focus = gtk_root_get_focus (GTK_ROOT (toplevel)); current_focus = gtk_root_get_focus (GTK_ROOT (toplevel));