Text   |  XML   |  ReML   |   Visible Warnings:

Unreachable Control Flow  at prefs_dlg.c:252

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

pref_show

(/home/sate/Testcases/c/cve/wireshark-1.2.0/gtk/prefs_dlg.c)expand/collapse
Show more  
 137  pref_show(pref_t *pref, gpointer user_data)
 138  {
 139    GtkWidget *main_tb = user_data;
 140    const char *title;
 141    char *label_string;
 142    size_t label_len;
 143    char uint_str[10+1];
 144   
 145    /* Give this preference a label which is its title, followed by a colon,
 146       and left-align it. */
 147    title = pref->title;
 148    label_len = strlen(title) + 2;
 149    label_string = g_malloc(label_len);
 150    g_strlcpy(label_string, title, label_len);
 151   
 152    /*
 153     * Sometimes we don't want to append a ':' after a static text string...
 154     * If it is needed, we will specify it in the string itself.
 155     */
 156    if(pref->type != PREF_STATIC_TEXT)
 157      g_strlcat(label_string, ":", label_len);
 158   
 159    /* Save the current value of the preference, so that we can revert it if 
 160       the user does "Apply" and then "Cancel", and create the control for 
 161       editing the preference. */
 162    switch (pref->type) {
 163   
 164    case PREF_UINT:
 165      pref->saved_val.uint = *pref->varp.uint;
 166   
 167      /* XXX - there are no uint spinbuttons, so we can't use a spinbutton.
 168         Even more annoyingly, even if there were, GLib doesn't define 
 169         G_MAXUINT - but I think ANSI C may define UINT_MAX, so we could 
 170         use that. */
 171      switch (pref->info.base) {
 172   
 173      case 10:
 174        g_snprintf(uint_str, sizeof(uint_str), "%u", pref->saved_val.uint);
 175        break;
 176   
 177      case 8:
 178        g_snprintf(uint_str, sizeof(uint_str), "%o", pref->saved_val.uint);
 179        break;
 180   
 181      case 16:
 182        g_snprintf(uint_str, sizeof(uint_str), "%x", pref->saved_val.uint);
 183        break;
 184      }
 185      pref->control = create_preference_entry(main_tb, pref->ordinal,
 186                                              label_string, pref->description,
 187                                              uint_str);
 188      break;
 189   
 190    case PREF_BOOL:
 191      pref->saved_val.boolval = *pref->varp.boolp;
 192      pref->control = create_preference_check_button(main_tb, pref->ordinal,
 193                                                     label_string, pref->description,
 194                                                     pref->saved_val.boolval);
 195      break;
 196   
 197    case PREF_ENUM:
 198      pref->saved_val.enumval = *pref->varp.enump;
 199      if (pref->info.enum_info.radio_buttons) {
 200        /* Show it as radio buttons. */
 201        pref->control = create_preference_radio_buttons(main_tb, pref->ordinal,
 202                                                        label_string, pref->description,
 203                                                        pref->info.enum_info.enumvals,
 204                                                        pref->saved_val.enumval);
 205      } else {
 206        /* Show it as an option menu. */
 207        pref->control = create_preference_option_menu(main_tb, pref->ordinal,
 208                                                      label_string, pref->description,
 209                                                      pref->info.enum_info.enumvals,
 210                                                      pref->saved_val.enumval);
 211      }
 212      break;
 213   
 214    case PREF_STRING:
 215      g_free(pref->saved_val.string);
 216      pref->saved_val.string = g_strdup(*pref->varp.string);
 217      pref->control = create_preference_entry(main_tb, pref->ordinal,
 218                                              label_string, pref->description,
 219                                              pref->saved_val.string);
 220      break;
 221   
 222    case PREF_RANGE:
 223    {
 224      char *range_string;
 225   
 226      g_free(pref->saved_val.range);
 227      pref->saved_val.range = range_copy(*pref->varp.range);
 228      range_string = range_convert_range(*pref->varp.range);
 229      pref->control = create_preference_entry(main_tb, pref->ordinal,
 230                                              label_string, pref->description,
 231                                              range_string);
 232      break;
 233    }
 234   
 235    case PREF_STATIC_TEXT:
 236    {
 237      pref->control = create_preference_static_text(main_tb, pref->ordinal,
 238                                                    label_string, pref->description);
 239      break;
 240    }
 241   
 242    case PREF_UAT:
 243    {
 244      pref->control = create_preference_uat(main_tb, pref->ordinal,
 245                                            label_string, pref->description,
 246                                            pref->varp.uat);
 247      break;
 248    }
 249   
 250    case PREF_OBSOLETE:
 251      g_assert_not_reached();
 252      break;
 253    }
 254    g_free(label_string);
 255   
 256    return 0;
 257  }
Show more  




Change Warning 4205.30731 : Unreachable Control Flow

Priority:
State:
Finding:
Owner:
Note: