Text   |  XML   |  ReML   |   Visible Warnings:

Unreachable Computation  at capture_dlg.c:2651

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

capture_dlg_prep

(/home/sate/Testcases/c/cve/wireshark-1.2.0/gtk/capture_dlg.c)expand/collapse
Show more  
 2544  capture_dlg_prep(gpointer parent_w) {
 2545    GtkWidget *if_cb, *snap_cb, *snap_sb, *promisc_cb, *pcap_ng_cb, *filter_te, *filter_cm,
 2546              *file_te, *multi_files_on_cb, *ringbuffer_nbf_sb, *ringbuffer_nbf_cb,
 2547              *linktype_om, *sync_cb, *auto_scroll_cb, *hide_info_cb,
 2548              *stop_packets_cb, *stop_packets_sb,
 2549              *stop_filesize_cb, *stop_filesize_sb, *stop_filesize_om,
 2550              *stop_duration_cb, *stop_duration_sb, *stop_duration_om,
 2551              *ring_filesize_cb, *ring_filesize_sb, *ring_filesize_om,
 2552              *file_duration_cb, *file_duration_sb, *file_duration_om,
 2553              *stop_files_cb, *stop_files_sb,
 2554              *m_resolv_cb, *n_resolv_cb, *t_resolv_cb;
 2555  #ifdef HAVE_PCAP_REMOTE 
 2556    GtkWidget *iftype_cb;
 2557  #endif
 2558  #ifdef _WIN32 
 2559    GtkWidget *buffer_size_sb;
 2560  #endif
 2561    gchar *entry_text;
 2562    gchar *if_text;
 2563    const gchar *if_name;
 2564    const gchar *filter_text;
 2565    const gchar *g_save_file;
 2566    gchar *cf_name;
 2567    gchar *dirname;
 2568    gint32 tmp;
 2569   
 2570    if_cb     = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_IFACE_KEY);
 2571  #ifdef HAVE_PCAP_REMOTE 
 2572    iftype_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_IFTYPE_CB_KEY);
 2573  #endif
 2574    snap_cb   = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_SNAP_CB_KEY);
 2575    snap_sb   = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_SNAP_SB_KEY);
 2576    linktype_om = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_LT_OM_KEY);
 2577  #ifdef _WIN32 
 2578    buffer_size_sb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_BUFFER_SIZE_SB_KEY);
 2579  #endif
 2580    promisc_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_PROMISC_KEY);
 2581    pcap_ng_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_PCAP_NG_KEY);
 2582    filter_cm = g_object_get_data(G_OBJECT(top_level), E_CFILTER_CM_KEY);
 2583    filter_te = GTK_COMBO(filter_cm)->entry;
 2584    file_te   = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_FILE_TE_KEY);
 2585    multi_files_on_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_MULTI_FILES_ON_CB_KEY);
 2586    ringbuffer_nbf_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_RING_NBF_CB_KEY);
 2587    ringbuffer_nbf_sb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_RING_NBF_SB_KEY);
 2588    ring_filesize_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_RING_FILESIZE_CB_KEY);
 2589    ring_filesize_sb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_RING_FILESIZE_SB_KEY);
 2590    ring_filesize_om = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_RING_FILESIZE_OM_KEY);
 2591    file_duration_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_FILE_DURATION_CB_KEY);
 2592    file_duration_sb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_FILE_DURATION_SB_KEY);
 2593    file_duration_om = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_FILE_DURATION_OM_KEY);
 2594    sync_cb   = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_SYNC_KEY);
 2595    auto_scroll_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_AUTO_SCROLL_KEY);
 2596    hide_info_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_HIDE_INFO_KEY);
 2597    stop_packets_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_STOP_PACKETS_CB_KEY);
 2598    stop_packets_sb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_STOP_PACKETS_SB_KEY);
 2599    stop_filesize_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_STOP_FILESIZE_CB_KEY);
 2600    stop_filesize_sb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_STOP_FILESIZE_SB_KEY);
 2601    stop_filesize_om = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_STOP_FILESIZE_OM_KEY);
 2602    stop_duration_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_STOP_DURATION_CB_KEY);
 2603    stop_duration_sb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_STOP_DURATION_SB_KEY);
 2604    stop_duration_om = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_STOP_DURATION_OM_KEY);
 2605    stop_files_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_STOP_FILES_CB_KEY);
 2606    stop_files_sb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_STOP_FILES_SB_KEY);
 2607    m_resolv_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_M_RESOLVE_KEY);
 2608    n_resolv_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_N_RESOLVE_KEY);
 2609    t_resolv_cb = (GtkWidget *) g_object_get_data(G_OBJECT(parent_w), E_CAP_T_RESOLVE_KEY);
 2610   
 2611    entry_text =
 2612      g_strdup(gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(if_cb)->entry)));
 2613    if_text = g_strstrip(entry_text);
 2614    if_name = get_if_name(if_text);
 2615    if (*if_name == '\0') {
 2616      simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
 2617        "You didn't specify an interface on which to capture packets.");
 2618      g_free(entry_text);
 2619      return FALSE;
 2620    }
 2621    g_free(global_capture_opts.iface);
 2622    g_free(global_capture_opts.iface_descr);
 2623    global_capture_opts.iface = g_strdup(if_name);
 2624    global_capture_opts.iface_descr = get_interface_descriptive_name(global_capture_opts.iface);
 2625    g_free(entry_text);
 2626    /* The Linktype will be stored when the interface will be changed, or if not, not datalink option is used,
 2627       the acquisition will be performed on the default datalink for the device */
 2628    /*  global_capture_opts.linktype =
 2629        GPOINTER_TO_INT(g_object_get_data(G_OBJECT(linktype_om), E_CAP_OM_LT_VALUE_KEY)); */
 2630   
 2631  #ifdef HAVE_PCAP_REMOTE 
 2632    global_capture_opts.src_type = (capture_source)
 2633        GPOINTER_TO_INT(g_object_get_data(G_OBJECT(iftype_cb), E_CAP_OM_IFTYPE_VALUE_KEY));
 2634    if (global_capture_opts.src_type > CAPTURE_IFREMOTE)
 2635      global_capture_opts.src_type = CAPTURE_IFREMOTE;
 2636  #endif
 2637   
 2638  #ifdef _WIN32 
 2639    global_capture_opts.buffer_size =
 2640      gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(buffer_size_sb));
 2641  #endif
 2642   
 2643    global_capture_opts.has_snaplen =
 2644      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(snap_cb));
 2645    if (global_capture_opts.has_snaplen) {
 2646      global_capture_opts.snaplen =
 2647        gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(snap_sb));
 2648      if (global_capture_opts.snaplen < 1)
 2649        global_capture_opts.snaplen = WTAP_MAX_PACKET_SIZE;
 2650      else if (global_capture_opts.snaplen < MIN_PACKET_SIZE)
 2651        global_capture_opts.snaplen = MIN_PACKET_SIZE;
 2652    }
 2653   
 2654    global_capture_opts.promisc_mode =
 2655      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(promisc_cb));
 2656    global_capture_opts.use_pcapng =
 2657      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pcap_ng_cb));
 2658   
 2659    /* XXX - don't try to get clever and set "cfile.filter" to NULL if the
 2660       filter string is empty, as an indication that we don't have a filter 
 2661       and thus don't have to set a filter when capturing - the version of 
 2662       libpcap in Red Hat Linux 6.1, and versions based on later patches
 2663       in that series, don't bind the AF_PACKET socket to an interface 
 2664       until a filter is set, which means they aren't bound at all if
 2665       no filter is set, which means no packets arrive as input on that 
 2666       socket, which means Wireshark never sees any packets. */
 2667    filter_text = gtk_entry_get_text(GTK_ENTRY(filter_te));
 2668    if (global_capture_opts.cfilter)
 2669      g_free(global_capture_opts.cfilter);
 2670    g_assert(filter_text != NULL);
 2671    global_capture_opts.cfilter = g_strdup(filter_text);
 2672   
 2673    /* Wireshark always saves to a capture file. */
 2674    global_capture_opts.saving_to_file = TRUE;
 2675    g_save_file = gtk_entry_get_text(GTK_ENTRY(file_te));
 2676    if (g_save_file && g_save_file[0]) {
 2677      /* User specified a file to which the capture should be written. */
 2678      global_capture_opts.save_file = g_strdup(g_save_file);
 2679      /* Save the directory name for future file dialogs. */
 2680      cf_name = g_strdup(g_save_file);
 2681      dirname = get_dirname(cf_name);  /* Overwrites cf_name */
 2682      set_last_open_dir(dirname);
 2683      g_free(cf_name);
 2684    } else {
 2685      /* User didn't specify a file; save to a temporary file. */
 2686      global_capture_opts.save_file = NULL;
 2687    }
 2688   
 2689    global_capture_opts.has_autostop_packets =
 2690      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(stop_packets_cb));
 2691    if (global_capture_opts.has_autostop_packets)
 2692      global_capture_opts.autostop_packets =
 2693        gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(stop_packets_sb));
 2694   
 2695    global_capture_opts.has_autostop_duration =
 2696      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(stop_duration_cb));
 2697    if (global_capture_opts.has_autostop_duration) {
 2698      global_capture_opts.autostop_duration =
 2699        gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(stop_duration_sb));
 2700      global_capture_opts.autostop_duration =
 2701        time_unit_option_menu_get_value(stop_duration_om, global_capture_opts.autostop_duration);
 2702    }
 2703   
 2704    global_capture_opts.real_time_mode =
 2705      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sync_cb));
 2706   
 2707    auto_scroll_live =
 2708        gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(auto_scroll_cb));
 2709   
 2710    global_capture_opts.show_info =
 2711        !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(hide_info_cb));
 2712   
 2713    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m_resolv_cb)))
 2714      g_resolv_flags |= RESOLV_MAC;
 2715    else 
 2716      g_resolv_flags &= ~RESOLV_MAC;
 2717    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(n_resolv_cb)))
 2718      g_resolv_flags |= RESOLV_NETWORK;
 2719    else 
 2720      g_resolv_flags &= ~RESOLV_NETWORK;
 2721    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(t_resolv_cb)))
 2722      g_resolv_flags |= RESOLV_TRANSPORT;
 2723    else 
 2724      g_resolv_flags &= ~RESOLV_TRANSPORT;
 2725   
 2726    global_capture_opts.has_ring_num_files =
 2727      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ringbuffer_nbf_cb));
 2728   
 2729    global_capture_opts.ring_num_files =
 2730      gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(ringbuffer_nbf_sb));
 2731    if (global_capture_opts.ring_num_files > RINGBUFFER_MAX_NUM_FILES)
 2732      global_capture_opts.ring_num_files = RINGBUFFER_MAX_NUM_FILES;
 2733  #if RINGBUFFER_MIN_NUM_FILES > 0 
 2734    else if (global_capture_opts.ring_num_files < RINGBUFFER_MIN_NUM_FILES)
 2735      global_capture_opts.ring_num_files = RINGBUFFER_MIN_NUM_FILES;
 2736  #endif
 2737   
 2738    global_capture_opts.multi_files_on =
 2739      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(multi_files_on_cb));
 2740   
 2741    global_capture_opts.has_file_duration =
 2742      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(file_duration_cb));
 2743    if (global_capture_opts.has_file_duration) {
 2744      global_capture_opts.file_duration =
 2745        gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(file_duration_sb));
 2746      global_capture_opts.file_duration =
 2747        time_unit_option_menu_get_value(file_duration_om, global_capture_opts.file_duration);
 2748    }
 2749   
 2750    global_capture_opts.has_autostop_files =
 2751      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(stop_files_cb));
 2752    if (global_capture_opts.has_autostop_files)
 2753      global_capture_opts.autostop_files =
 2754        gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(stop_files_sb));
 2755   
 2756    if (global_capture_opts.multi_files_on) {
 2757      global_capture_opts.has_autostop_filesize =
 2758        gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ring_filesize_cb));
 2759      if (global_capture_opts.has_autostop_filesize) {
 2760        tmp = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(ring_filesize_sb));
 2761        tmp = size_unit_option_menu_convert_value(ring_filesize_om, tmp);
 2762        if(tmp != 0) {
 2763          global_capture_opts.autostop_filesize = tmp;
 2764        } else {
 2765          simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
 2766            "%sMultiple files: Requested filesize too large!%s\n\n"
 2767            "The setting \"Next file every x byte(s)\" can't be greater than %u bytes (2GB).",  
 2768            simple_dialog_primary_start(), simple_dialog_primary_end(), G_MAXINT);
 2769          return FALSE;
 2770        }
 2771      }
 2772   
 2773      /* test if the settings are ok for a ringbuffer */
 2774      if (global_capture_opts.save_file == NULL) {
 2775        simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
 2776          "%sMultiple files: No capture file name given!%s\n\n"
 2777          "You must specify a filename if you want to use multiple files.",
 2778          simple_dialog_primary_start(), simple_dialog_primary_end());
 2779        return FALSE;
 2780      } else if (!global_capture_opts.has_autostop_filesize && !global_capture_opts.has_file_duration) {
 2781        simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
 2782          "%sMultiple files: No file limit given!%s\n\n"
 2783          "You must specify a file size or duration at which is switched to the next capture file\n"
 2784          "if you want to use multiple files.",
 2785          simple_dialog_primary_start(), simple_dialog_primary_end());
 2786        g_free(global_capture_opts.save_file);
 2787        global_capture_opts.save_file = NULL;
 2788        return FALSE;
 2789      }
 2790    } else {
 2791      global_capture_opts.has_autostop_filesize =
 2792        gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(stop_filesize_cb));
 2793      if (global_capture_opts.has_autostop_filesize) {
 2794        tmp = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(stop_filesize_sb));
 2795        tmp = size_unit_option_menu_convert_value(stop_filesize_om, tmp);
 2796        if(tmp != 0) {
 2797          global_capture_opts.autostop_filesize = tmp;
 2798        } else {
 2799          simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
 2800            "%sStop Capture: Requested filesize too large!%s\n\n"
 2801            "The setting \"... after x byte(s)\" can't be greater than %u bytes (2GB).",  
 2802            simple_dialog_primary_start(), simple_dialog_primary_end(), G_MAXINT);
 2803          return FALSE;
 2804        }
 2805      }
 2806    } /* multi_files_on */
 2807    return TRUE;
 2808  }
Show more  




Change Warning 3985.30376 : Unreachable Computation

Priority:
State:
Finding:
Owner:
Note: