Text   |  XML   |  ReML   |   Visible Warnings:

File System Race Condition  at iax2_analysis.c:2016

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

save_csv_as_ok_cb

(/home/sate/Testcases/c/cve/wireshark-1.2.0/gtk/iax2_analysis.c)expand/collapse
Show more  
 1898  static gboolean save_csv_as_ok_cb(GtkWidget *w _U_, gpointer fc /*user_data_t *user_data*/)
 1899  {
 1900          gchar        *g_dest;
 1901          GtkWidget    *rev, *forw, *both;
 1902          user_data_t  *user_data;
 1903   
 1904          GtkListStore *store;
 1905          GtkTreeIter   iter;
 1906          GtkTreeModel *model;
 1907          gboolean      more_items = TRUE;
 1908   
 1909          /* To Hold data from the list row */
 1910          guint   packet;         /* Packet                       */
 1911          gfloat  delta;          /* Delta(ms)                    */
 1912          gfloat  jitter;         /* Jitter(ms)                   */
 1913          gfloat  ipbw;           /* IP BW(kbps)                  */
 1914          char   *status_str;     /* Status                       */
 1915          char   *date_str;       /* Date                         */
 1916          guint   length;         /* Length                       */
 1917   
 1918          FILE *fp;
 1919          int j;
 1920   
 1921          g_dest = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fc));
 1922   
 1923          /* Perhaps the user specified a directory instead of a file.
 1924           * Check whether they did.
 1925           */
 1926[+]         if (test_for_directory(g_dest) == EISDIR) {
 1927                  /* It's a directory - set the file selection box to display it. */
 1928                  set_last_open_dir(g_dest);
 1929                  file_selection_set_current_folder(fc, get_last_open_dir());
 1930                  gtk_file_chooser_set_current_name(fc, "");
 1931                  g_free(g_dest);
 1932                  return FALSE; /* run the dialog again */
 1933          }
 1934          rev  = (GtkWidget*)g_object_get_data(G_OBJECT(fc), "reversed_rb");
 1935          forw = (GtkWidget*)g_object_get_data(G_OBJECT(fc), "forward_rb");
 1936          both = (GtkWidget*)g_object_get_data(G_OBJECT(fc), "both_rb");
 1937          user_data = (user_data_t*)g_object_get_data(G_OBJECT(fc), "user_data");
 1938   
 1939          if (GTK_TOGGLE_BUTTON(forw)->active || GTK_TOGGLE_BUTTON(both)->active) {
 1940                  fp = ws_fopen(g_dest, "w");
 1941                  if (fp == NULL) {
 1942                          open_failure_alert_box(g_dest, errno, TRUE);
 1943                          g_free(g_dest);
 1944                          return TRUE; /* we're done */
 1945                  }
 1946   
 1947                  if (GTK_TOGGLE_BUTTON(both)->active) {
 1948                          fprintf(fp, "Forward\n");
 1949                          if (ferror(fp)) {
 1950                                  write_failure_alert_box(g_dest, errno);
 1951                                  fclose(fp);
 1952                                  g_free(g_dest);
 1953                                  return TRUE; /* we're done */
 1954                          }
 1955                  }
 1956   
 1957                  for(j = 0; j < NUM_COLS; j++) {
 1958                          if (j == 0) {
 1959                                  fprintf(fp,"%s",titles[j]);
 1960                          } else {
 1961                                  fprintf(fp,",%s",titles[j]);
 1962                          }
 1963                  }
 1964                  fprintf(fp,"\n");
 1965                  if (ferror(fp)) {
 1966                          write_failure_alert_box(g_dest, errno);
 1967                          fclose(fp);
 1968                          g_free(g_dest);
 1969                          return TRUE; /* we're done */
 1970                  }
 1971                  model = gtk_tree_view_get_model(GTK_TREE_VIEW(user_data->dlg.list_fwd));
 1972                  store = GTK_LIST_STORE(model);
 1973                  if( gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter) ) {
 1974                           
 1975                          while (more_items) {
 1976                                  gtk_tree_model_get(GTK_TREE_MODEL(store), &iter,  
 1977                                                     0, &packet,
 1978                                                     1, &delta,
 1979                                                     2, &jitter,
 1980                                                     3, &ipbw,
 1981                                                     4, &status_str,
 1982                                                     5, &date_str,
 1983                                                     6, &length,
 1984
1995
Show [ Lines 1984 to 1995 omitted. ]
 1996                                          write_failure_alert_box(g_dest, errno);
 1997                                          fclose(fp);
 1998                                          g_free(g_dest);
 1999                                          return TRUE; /* we're done */
 2000                                  }
 2001   
 2002                                  more_items = gtk_tree_model_iter_next (model,&iter);
 2003                          }
 2004                  }
 2005                   
 2006                  if (fclose(fp) == EOF) {
 2007                          write_failure_alert_box(g_dest, errno);
 2008                          g_free(g_dest);
 2009                          return TRUE; /* we're done */
 2010                  }
 2011          }
 2012   
 2013          if (GTK_TOGGLE_BUTTON(rev)->active || GTK_TOGGLE_BUTTON(both)->active) {
 2014   
 2015                  if (GTK_TOGGLE_BUTTON(both)->active) {
 2016                          fp = ws_fopen(g_dest, "a");
Show more  




Change Warning 4385.30562 : File System Race Condition

Because they are very similar, this warning shares annotations with warning 4385.30565.

Priority:
State:
Finding:
Owner:
Note: