Text   |  XML   |  ReML   |   Visible Warnings:

Null Pointer Dereference  at dcerpc_stat.c:285

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++){
Show more  




Change Warning 4351.30853 : Null Pointer Dereference

Priority:
State:
Finding:
Owner:
Note: