Text   |  XML   |  ReML   |   Visible Warnings:

Unreachable Control Flow  at main_menu.c:2837

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

menu_prefs_change_ok

(/home/sate/Testcases/c/cve/wireshark-1.2.0/gtk/main_menu.c)expand/collapse
Show more  
 2789  menu_prefs_change_ok (GtkWidget *w, gpointer parent_w)
 2790  {
 2791      GtkWidget *entry = g_object_get_data (G_OBJECT(w), "entry");
 2792      module_t *module = g_object_get_data (G_OBJECT(w), "module");
 2793      pref_t *pref = g_object_get_data (G_OBJECT(w), "pref");
 2794      const gchar *new_value =  gtk_entry_get_text(GTK_ENTRY(entry));
 2795      range_t *newrange;
 2796      gchar *p;
 2797      guint uval;
 2798   
 2799      switch (pref->type) {
 2800      case PREF_UINT:
 2801          uval = strtoul(new_value, &p, pref->info.base);
 2802          if (p == new_value || *p != '\0') {
 2803              simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
 2804                            "The value \"%s\" isn't a valid number.",
 2805                            new_value);
 2806              return;
 2807          }
 2808          if (*pref->varp.uint != uval) {
 2809              module->prefs_changed = TRUE;
 2810              *pref->varp.uint = uval;
 2811          }
 2812          break;
 2813      case PREF_STRING:
 2814          if (strcmp (*pref->varp.string, new_value) != 0) {
 2815              module->prefs_changed = TRUE;
 2816              g_free((void*)*pref->varp.string);
 2817              *pref->varp.string = g_strdup(new_value);
 2818          }
 2819          break;
 2820      case PREF_RANGE:
 2821          if (range_convert_str(&newrange, new_value, pref->info.max_value) != CVT_NO_ERROR) {
 2822              simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
 2823                            "The value \"%s\" isn't a valid range.",
 2824                            new_value);
 2825              return;
 2826          }
 2827          if (!ranges_are_equal(*pref->varp.range, newrange)) {
 2828              module->prefs_changed = TRUE;
 2829              g_free(*pref->varp.range);
 2830              *pref->varp.range = newrange;
 2831          } else {
 2832              g_free (newrange);
 2833          }
 2834          break;
 2835      default:
 2836          g_assert_not_reached();
 2837          break;
 2838      }
 2839   
 2840      if (module->prefs_changed) {
 2841          /* Ensure we reload the sub menu */
 2842          menu_prefs_reset();
 2843          prefs_apply (module);
 2844          if (!prefs.gui_use_pref_save) {
 2845              prefs_main_write();
 2846          }
 2847          redissect_packets();
 2848      }
 2849   
 2850      window_destroy(GTK_WIDGET(parent_w));
 2851  }
Show more  




Change Warning 4182.31882 : Unreachable Control Flow

Priority:
State:
Finding:
Owner:
Note: