]> git.street.me.uk Git - andy/viking.git/commitdiff
Fix memory leaks found with cppcheck
authorJocelyn Jaubert <jocelyn.jaubert@gmail.com>
Sun, 19 Jul 2009 17:34:55 +0000 (19:34 +0200)
committerGuilhem Bonnefille <guilhem.bonnefille@gmail.com>
Wed, 22 Jul 2009 18:18:27 +0000 (20:18 +0200)
src/dem.c
src/viktrack.c
src/viktrwlayer.c
src/viktrwlayer_propwin.c

index 7cda7c842fc661d636e3e3499c449002fb246ce2..9c86a0529b6d476c503ab40498523fa5e2a41a7b 100644 (file)
--- a/src/dem.c
+++ b/src/dem.c
@@ -441,8 +441,10 @@ VikDEM *vik_dem_new_from_file(const gchar *file)
 
       /* Header */
   f = g_fopen(file, "r");
-  if ( !f )
+  if ( !f ) {
+    g_free ( rv );
     return NULL;
+  }
   buffer[fread(buffer, 1, DEM_BLOCK_SIZE, f)] = '\0';
   if ( ! dem_parse_header ( buffer, rv ) ) {
     g_free ( rv );
index 4d43815d135d33ae69dc3f99c489bc7d5143d13b..e03d8aa2a096f6153d302ce444ddd62b74557963 100644 (file)
@@ -379,8 +379,10 @@ gdouble *vik_track_make_elevation_map ( const VikTrack *tr, guint16 num_chunks )
   chunk_length = total_length / num_chunks;
 
   /* Zero chunk_length (eg, track of 2 tp with the same loc) will cause crash */
-  if (chunk_length <= 0)
+  if (chunk_length <= 0) {
+    g_free(pts);
     return NULL;
+  }
 
   current_dist = 0.0;
   current_area_under_curve = 0;
index a28c7cd7caba1405e36d69b4f75816e37c0d7394..f370e7f9d5d29c7751f486912b718be5e76f2feb 100644 (file)
@@ -2346,6 +2346,7 @@ static void trw_layer_merge_by_timestamp ( gpointer pass_along[6] )
                               _("Merge Threshold..."), 
                               _("Merge when time between tracks less than:"), 
                               &thr)) {
+    free(orig_track_name);
     return;
   }
 
index a8f8bb84e5a0eba39f46259a8aa14ec3f36c9771..f840e83ecf048304feb91492e5e3a00d91b56e26 100644 (file)
@@ -464,8 +464,10 @@ GtkWidget *vik_trw_layer_create_vtdiag ( GtkWidget *window, VikTrack *tr, gpoint
   pass_along[2] = widgets;
 
   gdouble *speeds = vik_track_make_speed_map ( tr, PROFILE_WIDTH );
-  if ( speeds == NULL )
+  if ( speeds == NULL ) {
+    g_free(pass_along);
     return NULL;
+  }
 
   pix = gdk_pixmap_new( window->window, PROFILE_WIDTH + MARGIN, PROFILE_HEIGHT, -1 );
   image = gtk_image_new_from_pixmap ( pix, NULL );