Text   |  XML   |  ReML   |   Visible Warnings:

Useless Assignment  at dcerpc_stat.c:238

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

gtk_dcerpcstat_init

(/home/sate/Testcases/c/cve/wireshark-1.2.0/gtk/dcerpc_stat.c)expand/collapse
Show more  
 190  gtk_dcerpcstat_init(const char *optarg, void* userdata _U_)
 191  {
 192          rpcstat_t *rs;
 193          guint32 i, max_procs;
 194          char *title_string;
 195          char *filter_string;
 196          GtkWidget *vbox;
 197          GtkWidget *stat_label;
 198          GtkWidget *filter_label;
 199          GtkWidget *bbox;
 200          GtkWidget *close_bt;
 201          dcerpc_sub_dissector *procs;
 202          e_uuid_t uuid;
 203          guint d1,d2,d3,d40,d41,d42,d43,d44,d45,d46,d47;
 204          int major, minor;
 205          guint16 ver;
 206          int pos=0;
 207          const char *filter=NULL;
 208          GString *error_string;
 209          int hf_opnum;
 210   
 211          /*
 212           * XXX - DCE RPC statistics are maintained only by major version,
 213           * not by major and minor version, so the minor version number is
 214           * ignored.
 215           *
 216           * Should we just stop supporting minor version numbers here?
 217           * Or should we allow it to be omitted?  Or should we keep 
 218           * separate statistics for different minor version numbers,
 219           * and allow the minor version number to be omitted, and 
 220           * report aggregate statistics for all minor version numbers
 221           * if it's omitted?
 222           */
 223          if(sscanf(optarg,"dcerpc,srt,%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x,%d.%d,%n", &d1,&d2,&d3,&d40,&d41,&d42,&d43,&d44,&d45,&d46,&d47,&major,&minor,&pos)==13){
 224                  uuid.Data1=d1;
 225                  uuid.Data2=d2;
 226                  uuid.Data3=d3;
 227                  uuid.Data4[0]=d40;
 228                  uuid.Data4[1]=d41;
 229                  uuid.Data4[2]=d42;
 230                  uuid.Data4[3]=d43;
 231                  uuid.Data4[4]=d44;
 232                  uuid.Data4[5]=d45;
 233                  uuid.Data4[6]=d46;
 234                  uuid.Data4[7]=d47;
 235                  if(pos){
 236                          filter=optarg+pos;
 237                  } else {
 238                          filter=NULL;
 239                  }
 240          } else {
 241                  fprintf(stderr, "wireshark: invalid \"-z dcerpc,srt,<uuid>,<major version>.<minor version>[,<filter>]\" argument\n");
 242                  exit(1);
 243          }
 244          if (major < 0 || major > 65535) {
 245                  fprintf(stderr,"wireshark: dcerpcstat_init() Major version number %d is invalid - must be positive and <= 65535\n", major);
 246                  exit(1);
 247          }
 248          if (minor < 0 || minor > 65535) {
 249                  fprintf(stderr,"wireshark: dcerpcstat_init() Minor version number %d is invalid - must be positive and <= 65535\n", minor);
 250                  exit(1);
 251          }
 252          ver = major;
 253   
 254          rs=g_malloc(sizeof(rpcstat_t));
 255          rs->prog=dcerpc_get_proto_name(&uuid, ver);
 256          if(!rs->prog){
 257                  g_free(rs);
 258                  fprintf(stderr,"wireshark: dcerpcstat_init() Protocol with uuid:%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x v%u not supported\n",uuid.Data1,uuid.Data2,uuid.Data3,uuid.Data4[0],uuid.Data4[1],uuid.Data4[2],uuid.Data4[3],uuid.Data4[4],uuid.Data4[5],uuid.Data4[6],uuid.Data4[7],ver);
 259                  exit(1);
 260          }
 261          hf_opnum=dcerpc_get_proto_hf_opnum(&uuid, ver);
 262          procs=dcerpc_get_proto_sub_dissector(&uuid, ver);
 263          rs->uuid=uuid;
 264          rs->ver=ver;
 265   
 266          rs->win=window_new(GTK_WINDOW_TOPLEVEL, "dcerpc-stat");
 267          dcerpcstat_set_title(rs);
 268          gtk_window_set_default_size(GTK_WINDOW(rs->win), 550, 400);
 269   
 270          vbox=gtk_vbox_new(FALSE, 3);
 271          gtk_container_add(GTK_CONTAINER(rs->win), vbox);
 272          gtk_container_set_border_width(GTK_CONTAINER(vbox), 12);
 273   
 274          title_string=dcerpcstat_gen_title(rs);
 275          stat_label=gtk_label_new(title_string);
 276          g_free(title_string);
 277          gtk_box_pack_start(GTK_BOX(vbox), stat_label, FALSE, FALSE, 0);
 278   
 279          filter_string = g_strdup_printf("Filter: %s",filter ? filter : "");
 280          filter_label=gtk_label_new(filter_string);
 281          g_free(filter_string);
 282          gtk_label_set_line_wrap(GTK_LABEL(filter_label), TRUE);
 283          gtk_box_pack_start(GTK_BOX(vbox), filter_label, FALSE, FALSE, 0);
 284   
 285          for(i=0,max_procs=0;procs[i].name;i++){
 286                  if(procs[i].num>max_procs){
 287                          max_procs=procs[i].num;
 288                  }
 289          }
 290          rs->num_procedures=max_procs+1;
 291   
 292          /* We must display TOP LEVEL Widget before calling init_srt_table() */
 293          gtk_widget_show_all(rs->win);
 294   
 295          if(hf_opnum!=-1){
 296                  init_srt_table(&rs->srt_table, max_procs+1, vbox, proto_registrar_get_nth(hf_opnum)->abbrev);
 297          } else {
 298                  init_srt_table(&rs->srt_table, max_procs+1, vbox, NULL);
 299          }
 300   
 301          for(i=0;i<(max_procs+1);i++){
 302                  int j;
 303                  const char *proc_name;
 304   
 305                  proc_name="unknown";
 306                  for(j=0;procs[j].name;j++){
 307                          if(procs[j].num==i){
 308                                  proc_name=procs[j].name;
 309                          }
 310                  }
 311   
 312                  init_srt_table_row(&rs->srt_table, i, proc_name);
 313          }
 314   
 315   
 316          error_string=register_tap_listener("dcerpc", rs, filter, dcerpcstat_reset, dcerpcstat_packet, dcerpcstat_draw);
 317          if(error_string){
 318                  /* error, we failed to attach to the tap. clean up */
 319                  simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", error_string->str);
 320                  g_string_free(error_string, TRUE);
 321                  free_srt_table_data(&rs->srt_table);
 322                  g_free(rs);
 323                  return;
 324          }
 325   
 326          /* Button row. */
 327          bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL);
 328          gtk_box_pack_end(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
 329   
 330          close_bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_CLOSE);
 331          window_set_cancel_button(rs->win, close_bt, window_cancel_button_cb);
 332   
 333          g_signal_connect(rs->win, "delete_event", G_CALLBACK(window_delete_event_cb), NULL);
 334          g_signal_connect(rs->win, "destroy", G_CALLBACK(win_destroy_cb), rs);
 335   
 336          gtk_widget_show_all(rs->win);
 337          window_present(rs->win);
 338   
 339          cf_retap_packets(&cfile, FALSE);
 340          gdk_window_raise(rs->win->window);
 341  }
Show more  




Change Warning 4350.30852 : Useless Assignment

Priority:
State:
Finding:
Owner:
Note: