Ensure pointers are put back to NULL when freed.
--Cette ligne, et les suivantes ci-dessous, seront ignorées-- M trunk/palette.c M trunk/init.c M trunk/engine.c M trunk/filesel.c M trunk/miscfileformats.c M trunk/pages.c M trunk/brush_ops.c M trunk/op_c.c M trunk/operatio.c M trunk/brush.c M trunk/loadsave.c M trunk/graph.c M trunk/fileformats.c M trunk/main.c git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1277 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
		
							parent
							
								
									04d7359ef5
								
							
						
					
					
						commit
						b36dee613e
					
				
							
								
								
									
										9
									
								
								brush.c
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								brush.c
									
									
									
									
									
								
							@ -914,6 +914,7 @@ void Outline_brush(void)
 | 
				
			|||||||
    Brush_offset_Y=(Brush_height>>1);
 | 
					    Brush_offset_Y=(Brush_height>>1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    free(temp); // Libération de l'ancienne brosse
 | 
					    free(temp); // Libération de l'ancienne brosse
 | 
				
			||||||
 | 
					    temp = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Réallocation d'un buffer de Smear
 | 
					    // Réallocation d'un buffer de Smear
 | 
				
			||||||
    free(Smear_brush);
 | 
					    free(Smear_brush);
 | 
				
			||||||
@ -1026,6 +1027,7 @@ void Nibble_brush(void)
 | 
				
			|||||||
      Brush_offset_Y=(Brush_height>>1);
 | 
					      Brush_offset_Y=(Brush_height>>1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      free(temp); // Libération de l'ancienne brosse
 | 
					      free(temp); // Libération de l'ancienne brosse
 | 
				
			||||||
 | 
					      temp = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      // Réallocation d'un buffer de Smear
 | 
					      // Réallocation d'un buffer de Smear
 | 
				
			||||||
      free(Smear_brush);
 | 
					      free(Smear_brush);
 | 
				
			||||||
@ -1196,6 +1198,7 @@ void Stretch_brush(short x1, short y1, short x2, short y2)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  // Free some memory
 | 
					  // Free some memory
 | 
				
			||||||
  free(Smear_brush);
 | 
					  free(Smear_brush);
 | 
				
			||||||
 | 
					  Smear_brush = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if ((new_brush=((byte *)malloc(new_brush_width*new_brush_height))))
 | 
					  if ((new_brush=((byte *)malloc(new_brush_width*new_brush_height))))
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -1507,6 +1510,7 @@ void Distort_brush(short x1, short y1, short x2, short y2, short x3, short y3, s
 | 
				
			|||||||
    // Out of memory while allocating new brush
 | 
					    // Out of memory while allocating new brush
 | 
				
			||||||
    Error(0);
 | 
					    Error(0);
 | 
				
			||||||
    free(new_smear_brush);
 | 
					    free(new_smear_brush);
 | 
				
			||||||
 | 
					    new_smear_brush = NULL;
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1767,6 +1771,8 @@ void Compute_quad_texture(int x1,int y1,int xt1,int yt1,
 | 
				
			|||||||
  free(ScanY_Yt[1]);
 | 
					  free(ScanY_Yt[1]);
 | 
				
			||||||
  free(ScanY_X[0]);
 | 
					  free(ScanY_X[0]);
 | 
				
			||||||
  free(ScanY_X[1]);
 | 
					  free(ScanY_X[1]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ScanY_Xt[0] = ScanY_Xt[1] = ScanY_Yt[0] = ScanY_Yt[1] = ScanY_X[0] = ScanY_X[1] = NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1807,6 +1813,7 @@ void Rotate_brush(float angle)
 | 
				
			|||||||
  new_brush_height=y_max+1-y_min;
 | 
					  new_brush_height=y_max+1-y_min;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  free(Smear_brush); // On libère un peu de mémoire
 | 
					  free(Smear_brush); // On libère un peu de mémoire
 | 
				
			||||||
 | 
					  Smear_brush = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if ((new_brush=((byte *)malloc(new_brush_width*new_brush_height))))
 | 
					  if ((new_brush=((byte *)malloc(new_brush_width*new_brush_height))))
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -1929,6 +1936,8 @@ void Draw_quad_texture_preview(int x1,int y1,int xt1,int yt1,
 | 
				
			|||||||
  free(ScanY_Yt[1]);
 | 
					  free(ScanY_Yt[1]);
 | 
				
			||||||
  free(ScanY_X[0]);
 | 
					  free(ScanY_X[0]);
 | 
				
			||||||
  free(ScanY_X[1]);
 | 
					  free(ScanY_X[1]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ScanY_Xt[0] = ScanY_Xt[1] = ScanY_Yt[0] = ScanY_Yt[1] = ScanY_X[0] = ScanY_X[1] = NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -507,6 +507,7 @@ void Polybrush_12_8(void)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Capture_brush_with_lasso(Polyfill_number_of_points,Polyfill_table_of_points,click==RIGHT_SIDE);
 | 
					    Capture_brush_with_lasso(Polyfill_number_of_points,Polyfill_table_of_points,click==RIGHT_SIDE);
 | 
				
			||||||
    free(Polyfill_table_of_points);
 | 
					    free(Polyfill_table_of_points);
 | 
				
			||||||
 | 
					    Polyfill_table_of_points = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // On raffiche l'écran pour effacer les traits en xor et pour raffraichir
 | 
					    // On raffiche l'écran pour effacer les traits en xor et pour raffraichir
 | 
				
			||||||
    // l'écran si on a découpé une partie de l'image en prenant la brosse.
 | 
					    // l'écran si on a découpé une partie de l'image en prenant la brosse.
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								engine.c
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								engine.c
									
									
									
									
									
								
							@ -1988,6 +1988,7 @@ void Close_popup(void)
 | 
				
			|||||||
  else
 | 
					  else
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    free(Window_background[Windows_open-1]);
 | 
					    free(Window_background[Windows_open-1]);
 | 
				
			||||||
 | 
					    Window_background[Windows_open-1] = NULL;
 | 
				
			||||||
    Windows_open--;
 | 
					    Windows_open--;
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
    Paintbrush_hidden=Paintbrush_hidden_before_window;
 | 
					    Paintbrush_hidden=Paintbrush_hidden_before_window;
 | 
				
			||||||
 | 
				
			|||||||
@ -125,6 +125,7 @@ void Load_IMG(T_IO_Context * context)
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      free(buffer);
 | 
					      free(buffer);
 | 
				
			||||||
 | 
					      buffer = NULL;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      File_error=1;
 | 
					      File_error=1;
 | 
				
			||||||
@ -642,6 +643,7 @@ void Load_LBM(T_IO_Context * context)
 | 
				
			|||||||
                        File_error=2;
 | 
					                        File_error=2;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    free(LBM_buffer);
 | 
					                    free(LBM_buffer);
 | 
				
			||||||
 | 
					                    LBM_buffer = NULL;
 | 
				
			||||||
                  }
 | 
					                  }
 | 
				
			||||||
                  else
 | 
					                  else
 | 
				
			||||||
                  {                                               // compressé
 | 
					                  {                                               // compressé
 | 
				
			||||||
@ -684,6 +686,7 @@ void Load_LBM(T_IO_Context * context)
 | 
				
			|||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    free(LBM_buffer);
 | 
					                    free(LBM_buffer);
 | 
				
			||||||
 | 
					                    LBM_buffer = NULL;
 | 
				
			||||||
                    /*Close_lecture();*/
 | 
					                    /*Close_lecture();*/
 | 
				
			||||||
                  }
 | 
					                  }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -703,6 +706,7 @@ void Load_LBM(T_IO_Context * context)
 | 
				
			|||||||
                        File_error=2;
 | 
					                        File_error=2;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    free(LBM_buffer);
 | 
					                    free(LBM_buffer);
 | 
				
			||||||
 | 
					                    LBM_buffer = NULL;
 | 
				
			||||||
                  }
 | 
					                  }
 | 
				
			||||||
                  else
 | 
					                  else
 | 
				
			||||||
                  {                                               // compressé
 | 
					                  {                                               // compressé
 | 
				
			||||||
@ -1200,6 +1204,7 @@ void Load_BMP(T_IO_Context * context)
 | 
				
			|||||||
                    File_error=2;
 | 
					                    File_error=2;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                free(buffer);
 | 
					                free(buffer);
 | 
				
			||||||
 | 
					                buffer = NULL;
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              case 1 : // Compression RLE 8 bits
 | 
					              case 1 : // Compression RLE 8 bits
 | 
				
			||||||
@ -1418,6 +1423,7 @@ void Load_BMP(T_IO_Context * context)
 | 
				
			|||||||
            
 | 
					            
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          free(buffer);
 | 
					          free(buffer);
 | 
				
			||||||
 | 
					          buffer = NULL;
 | 
				
			||||||
          fclose(file);
 | 
					          fclose(file);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -2020,6 +2026,7 @@ void Load_GIF(T_IO_Context * context)
 | 
				
			|||||||
      free(alphabet_suffix);
 | 
					      free(alphabet_suffix);
 | 
				
			||||||
      free(alphabet_prefix);
 | 
					      free(alphabet_prefix);
 | 
				
			||||||
      free(alphabet_stack);
 | 
					      free(alphabet_stack);
 | 
				
			||||||
 | 
					      alphabet_suffix = alphabet_prefix = alphabet_stack = NULL;
 | 
				
			||||||
    } // Le fichier contenait au moins la signature GIF87a ou GIF89a
 | 
					    } // Le fichier contenait au moins la signature GIF87a ou GIF89a
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      File_error=1;
 | 
					      File_error=1;
 | 
				
			||||||
@ -2759,6 +2766,7 @@ void Load_PCX(T_IO_Context * context)
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            free(LBM_buffer);
 | 
					            free(LBM_buffer);
 | 
				
			||||||
 | 
					            LBM_buffer = NULL;
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -2834,6 +2842,7 @@ void Load_PCX(T_IO_Context * context)
 | 
				
			|||||||
            /*Close_lecture();*/
 | 
					            /*Close_lecture();*/
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          free(buffer);
 | 
					          free(buffer);
 | 
				
			||||||
 | 
					          buffer = NULL;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -3086,6 +3095,7 @@ void Load_SCx(T_IO_Context * context)
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          free(LBM_buffer);
 | 
					          free(LBM_buffer);
 | 
				
			||||||
 | 
					          LBM_buffer = NULL;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
          File_error=1;
 | 
					          File_error=1;
 | 
				
			||||||
@ -3376,6 +3386,7 @@ void Load_PNG(T_IO_Context * context)
 | 
				
			|||||||
                      context->Palette[x].B=palette[x].blue;
 | 
					                      context->Palette[x].B=palette[x].blue;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    free(palette);
 | 
					                    free(palette);
 | 
				
			||||||
 | 
					                    palette = NULL;
 | 
				
			||||||
                  }
 | 
					                  }
 | 
				
			||||||
                  
 | 
					                  
 | 
				
			||||||
                  if (color_type != PNG_COLOR_TYPE_RGB && color_type != PNG_COLOR_TYPE_RGB_ALPHA)
 | 
					                  if (color_type != PNG_COLOR_TYPE_RGB && color_type != PNG_COLOR_TYPE_RGB_ALPHA)
 | 
				
			||||||
@ -3452,10 +3463,14 @@ void Load_PNG(T_IO_Context * context)
 | 
				
			|||||||
                  /* cleanup heap allocation */
 | 
					                  /* cleanup heap allocation */
 | 
				
			||||||
                  if (row_pointers_allocated)
 | 
					                  if (row_pointers_allocated)
 | 
				
			||||||
                  {
 | 
					                  {
 | 
				
			||||||
                    for (y=0; y<context->Height; y++)
 | 
					                    for (y=0; y<context->Height; y++) {
 | 
				
			||||||
                      free(Row_pointers[y]);
 | 
					                      free(Row_pointers[y]);
 | 
				
			||||||
 | 
					                      Row_pointers[y] = NULL;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                      
 | 
				
			||||||
                  }
 | 
					                  }
 | 
				
			||||||
                  free(Row_pointers);
 | 
					                  free(Row_pointers);
 | 
				
			||||||
 | 
					                  Row_pointers = NULL;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                  File_error=2;
 | 
					                  File_error=2;
 | 
				
			||||||
 | 
				
			|||||||
@ -138,6 +138,7 @@ void Free_fileselector_list(T_Fileselector *list)
 | 
				
			|||||||
    list->First=list->First->Next;
 | 
					    list->First=list->First->Next;
 | 
				
			||||||
    // Et on efface l'ancien premier élément de la liste
 | 
					    // Et on efface l'ancien premier élément de la liste
 | 
				
			||||||
    free(temp_item);
 | 
					    free(temp_item);
 | 
				
			||||||
 | 
					    temp_item = NULL;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  Recount_files(list);
 | 
					  Recount_files(list);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -325,6 +326,7 @@ void Read_list_of_files(T_Fileselector *list, byte selected_format)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  closedir(current_directory);
 | 
					  closedir(current_directory);
 | 
				
			||||||
  free(current_path);
 | 
					  free(current_path);
 | 
				
			||||||
 | 
					  current_path = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Recount_files(list);
 | 
					  Recount_files(list);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -1447,8 +1449,8 @@ byte Button_Load_or_Save(byte load, T_IO_Context *context)
 | 
				
			|||||||
                break;
 | 
					                break;
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
              case 0: // Set
 | 
					              case 0: // Set
 | 
				
			||||||
                if (Config.Bookmark_directory[clicked_button-10])
 | 
					                free(Config.Bookmark_directory[clicked_button-10]);
 | 
				
			||||||
                  free(Config.Bookmark_directory[clicked_button-10]);
 | 
					                Config.Bookmark_directory[clicked_button-10] = NULL;
 | 
				
			||||||
                Config.Bookmark_label[clicked_button-10][0]='\0';
 | 
					                Config.Bookmark_label[clicked_button-10][0]='\0';
 | 
				
			||||||
                temp=strlen(Main_current_directory);
 | 
					                temp=strlen(Main_current_directory);
 | 
				
			||||||
                Config.Bookmark_directory[clicked_button-10]=malloc(temp+1);
 | 
					                Config.Bookmark_directory[clicked_button-10]=malloc(temp+1);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								graph.c
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								graph.c
									
									
									
									
									
								
							@ -2531,6 +2531,7 @@ void Polyfill_general(int vertices, short * points, int color)
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  free(initial_edge);
 | 
					  free(initial_edge);
 | 
				
			||||||
 | 
					  initial_edge = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // On ne connait pas simplement les xmin et xmax ici, mais de toutes façon ce n'est pas utilisé en preview
 | 
					  // On ne connait pas simplement les xmin et xmax ici, mais de toutes façon ce n'est pas utilisé en preview
 | 
				
			||||||
  Update_part_of_screen(0,top,Main_image_width,bottom-top+1);
 | 
					  Update_part_of_screen(0,top,Main_image_width,bottom-top+1);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								init.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								init.c
									
									
									
									
									
								
							@ -824,12 +824,14 @@ T_Gui_skin * Load_graphics(const char * skin_file)
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    sprintf(Gui_loading_error_message, "Unable to load the skin image (missing? not an image file?)\n");
 | 
					    sprintf(Gui_loading_error_message, "Unable to load the skin image (missing? not an image file?)\n");
 | 
				
			||||||
    free(gfx);
 | 
					    free(gfx);
 | 
				
			||||||
 | 
					    gfx = NULL;
 | 
				
			||||||
    return NULL;
 | 
					    return NULL;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (Parse_skin(gui, gfx))
 | 
					  if (Parse_skin(gui, gfx))
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    SDL_FreeSurface(gui);
 | 
					    SDL_FreeSurface(gui);
 | 
				
			||||||
    free(gfx);
 | 
					    free(gfx);
 | 
				
			||||||
 | 
					    gfx = NULL;
 | 
				
			||||||
    return NULL;
 | 
					    return NULL;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  SDL_FreeSurface(gui);
 | 
					  SDL_FreeSurface(gui);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										12
									
								
								loadsave.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								loadsave.c
									
									
									
									
									
								
							@ -563,6 +563,7 @@ void End_write(FILE *file)
 | 
				
			|||||||
    if (! Write_bytes(file,Write_buffer,Write_buffer_index))
 | 
					    if (! Write_bytes(file,Write_buffer,Write_buffer_index))
 | 
				
			||||||
      File_error=1;
 | 
					      File_error=1;
 | 
				
			||||||
  free(Write_buffer);
 | 
					  free(Write_buffer);
 | 
				
			||||||
 | 
					  Write_buffer = NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1001,14 +1002,8 @@ byte Get_pixel(T_IO_Context *context, short x, short y)
 | 
				
			|||||||
/// Cleans up resources (currently: the 24bit buffer) 
 | 
					/// Cleans up resources (currently: the 24bit buffer) 
 | 
				
			||||||
void Destroy_context(T_IO_Context *context)
 | 
					void Destroy_context(T_IO_Context *context)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  if (context->Buffer_image_24b)
 | 
					  free(context->Buffer_image_24b);
 | 
				
			||||||
  {
 | 
					  free(context->Buffer_image);
 | 
				
			||||||
    free(context->Buffer_image_24b);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  if (context->Buffer_image)
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    free(context->Buffer_image);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  memset(context, 0, sizeof(T_IO_Context));
 | 
					  memset(context, 0, sizeof(T_IO_Context));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1243,6 +1238,7 @@ byte Process_backups(T_String_list **list)
 | 
				
			|||||||
    free(files_vector[i]);
 | 
					    free(files_vector[i]);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  free(files_vector);
 | 
					  free(files_vector);
 | 
				
			||||||
 | 
					  files_vector = NULL;
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  return nb_files;
 | 
					  return nb_files;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										24
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								main.c
									
									
									
									
									
								
							@ -373,6 +373,7 @@ int Analyze_command_line(int argc, char * argv[], char *main_filename, char *mai
 | 
				
			|||||||
            Extract_filename(spare_filename, buffer);
 | 
					            Extract_filename(spare_filename, buffer);
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          free(buffer);
 | 
					          free(buffer);
 | 
				
			||||||
 | 
					          buffer = NULL;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -533,6 +534,7 @@ int Init_program(int argc,char * argv[])
 | 
				
			|||||||
              icon_mask[(y*32+x)/8] |=0x80>>(x&7);
 | 
					              icon_mask[(y*32+x)/8] |=0x80>>(x&7);
 | 
				
			||||||
        SDL_WM_SetIcon(icon,icon_mask);
 | 
					        SDL_WM_SetIcon(icon,icon_mask);
 | 
				
			||||||
        free(icon_mask);
 | 
					        free(icon_mask);
 | 
				
			||||||
 | 
					        icon_mask = NULL;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      SDL_FreeSurface(icon);
 | 
					      SDL_FreeSurface(icon);
 | 
				
			||||||
@ -835,23 +837,25 @@ void Program_shutdown(void)
 | 
				
			|||||||
  Delete_safety_backups();
 | 
					  Delete_safety_backups();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // On libère le buffer de gestion de lignes
 | 
					  // On libère le buffer de gestion de lignes
 | 
				
			||||||
  if(Horizontal_line_buffer) free(Horizontal_line_buffer);
 | 
					  free(Horizontal_line_buffer);
 | 
				
			||||||
 | 
					  Horizontal_line_buffer = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // On libère le pinceau spécial
 | 
					  // On libère le pinceau spécial
 | 
				
			||||||
  if (Paintbrush_sprite) free(Paintbrush_sprite);
 | 
					  free(Paintbrush_sprite);
 | 
				
			||||||
 | 
					  Paintbrush_sprite = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // On libère les différents écrans virtuels et brosse:
 | 
					  // On libère les différents écrans virtuels et brosse:
 | 
				
			||||||
  if(Brush) free(Brush);
 | 
					  free(Brush);
 | 
				
			||||||
 | 
					  Brush = NULL;
 | 
				
			||||||
  Set_number_of_backups(0);
 | 
					  Set_number_of_backups(0);
 | 
				
			||||||
  if(Spare_screen) free(Spare_screen);
 | 
					  free(Spare_screen);
 | 
				
			||||||
  if(Main_screen) free(Main_screen);
 | 
					  Spare_screen = NULL;
 | 
				
			||||||
 | 
					  free(Main_screen);
 | 
				
			||||||
 | 
					  Main_screen = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Free the skin (Gui graphics) data
 | 
					  // Free the skin (Gui graphics) data
 | 
				
			||||||
  if (Gfx)
 | 
					  free(Gfx);
 | 
				
			||||||
  {
 | 
					  Gfx=NULL;
 | 
				
			||||||
    free(Gfx);
 | 
					 | 
				
			||||||
    Gfx=NULL;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // On prend bien soin de passer dans le répertoire initial:
 | 
					  // On prend bien soin de passer dans le répertoire initial:
 | 
				
			||||||
  if (chdir(Initial_directory)!=-1)
 | 
					  if (chdir(Initial_directory)!=-1)
 | 
				
			||||||
 | 
				
			|||||||
@ -1462,6 +1462,7 @@ void Load_PI1(T_IO_Context * context)
 | 
				
			|||||||
      else
 | 
					      else
 | 
				
			||||||
        File_error=1;
 | 
					        File_error=1;
 | 
				
			||||||
      free(buffer);
 | 
					      free(buffer);
 | 
				
			||||||
 | 
					      buffer = NULL;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      File_error=1;
 | 
					      File_error=1;
 | 
				
			||||||
@ -1528,6 +1529,7 @@ void Save_PI1(T_IO_Context * context)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    // Libération du buffer mémoire
 | 
					    // Libération du buffer mémoire
 | 
				
			||||||
    free(buffer);
 | 
					    free(buffer);
 | 
				
			||||||
 | 
					    buffer = NULL;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -1790,12 +1792,14 @@ void Load_PC1(T_IO_Context * context)
 | 
				
			|||||||
        File_error=1;
 | 
					        File_error=1;
 | 
				
			||||||
      free(bufferdecomp);
 | 
					      free(bufferdecomp);
 | 
				
			||||||
      free(buffercomp);
 | 
					      free(buffercomp);
 | 
				
			||||||
 | 
					      buffercomp = bufferdecomp = NULL;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      File_error=1;
 | 
					      File_error=1;
 | 
				
			||||||
      free(bufferdecomp);
 | 
					      free(bufferdecomp);
 | 
				
			||||||
      free(buffercomp);
 | 
					      free(buffercomp);
 | 
				
			||||||
 | 
					      buffercomp = bufferdecomp = NULL;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    fclose(file);
 | 
					    fclose(file);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@ -1866,6 +1870,7 @@ void Save_PC1(T_IO_Context * context)
 | 
				
			|||||||
    // Libération des buffers mémoire
 | 
					    // Libération des buffers mémoire
 | 
				
			||||||
    free(bufferdecomp);
 | 
					    free(bufferdecomp);
 | 
				
			||||||
    free(buffercomp);
 | 
					    free(buffercomp);
 | 
				
			||||||
 | 
					    buffercomp = bufferdecomp = NULL;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -1969,6 +1974,7 @@ void Load_NEO(T_IO_Context * context)
 | 
				
			|||||||
      else
 | 
					      else
 | 
				
			||||||
        File_error=1;
 | 
					        File_error=1;
 | 
				
			||||||
      free(buffer);
 | 
					      free(buffer);
 | 
				
			||||||
 | 
					      buffer = NULL;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      File_error=1;
 | 
					      File_error=1;
 | 
				
			||||||
@ -2033,6 +2039,7 @@ void Save_NEO(T_IO_Context * context)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    // Libération du buffer mémoire
 | 
					    // Libération du buffer mémoire
 | 
				
			||||||
    free(buffer);
 | 
					    free(buffer);
 | 
				
			||||||
 | 
					    buffer = NULL;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -2667,6 +2674,7 @@ void Save_SCR(T_IO_Context * context)
 | 
				
			|||||||
	fclose(file);
 | 
						fclose(file);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	free (output);
 | 
						free (output);
 | 
				
			||||||
 | 
					  output = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	File_error = 0;
 | 
						File_error = 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										11
									
								
								op_c.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								op_c.c
									
									
									
									
									
								
							@ -223,6 +223,7 @@ void CT_delete(T_Conversion_table * t)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  free(t->table);
 | 
					  free(t->table);
 | 
				
			||||||
  free(t);
 | 
					  free(t);
 | 
				
			||||||
 | 
					  t = NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -299,7 +300,7 @@ T_Occurrence_table * OT_new(int nbb_r,int nbb_g,int nbb_b)
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      // Not enough memory !
 | 
					      // Not enough memory !
 | 
				
			||||||
      free(n);
 | 
					      free(n);
 | 
				
			||||||
      n=0;
 | 
					      n=NULL;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -312,6 +313,7 @@ void OT_delete(T_Occurrence_table * t)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  free(t->table);
 | 
					  free(t->table);
 | 
				
			||||||
  free(t);
 | 
					  free(t);
 | 
				
			||||||
 | 
					  t = NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -793,6 +795,7 @@ void CS_Delete(T_Cluster_set * cs)
 | 
				
			|||||||
		cs->clusters = nxt;
 | 
							cs->clusters = nxt;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	free(cs);
 | 
						free(cs);
 | 
				
			||||||
 | 
					  cs = NULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1019,7 +1022,7 @@ T_Gradient_set * GS_New(T_Cluster_set * cs)
 | 
				
			|||||||
    n=(T_Gradient_set *)malloc(sizeof(T_Gradient_set));
 | 
					    n=(T_Gradient_set *)malloc(sizeof(T_Gradient_set));
 | 
				
			||||||
    if (n!=NULL)
 | 
					    if (n!=NULL)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        // On recopie les paramŠtres demand‚s
 | 
					        // On recopie les paramètres demandés
 | 
				
			||||||
        n->nb_max=cs->nb_max;
 | 
					        n->nb_max=cs->nb_max;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // On tente d'allouer la table
 | 
					        // On tente d'allouer la table
 | 
				
			||||||
@ -1029,9 +1032,9 @@ T_Gradient_set * GS_New(T_Cluster_set * cs)
 | 
				
			|||||||
            GS_Init(n,cs);
 | 
					            GS_Init(n,cs);
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            // Table impossible … allouer
 | 
					            // Table impossible à allouer
 | 
				
			||||||
            free(n);
 | 
					            free(n);
 | 
				
			||||||
            n=0;
 | 
					            n=NULL;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2226,6 +2226,7 @@ void Polyfill_12_9(void)
 | 
				
			|||||||
    Display_all_screen();
 | 
					    Display_all_screen();
 | 
				
			||||||
    Polyfill(Polyfill_number_of_points,Polyfill_table_of_points,color);
 | 
					    Polyfill(Polyfill_number_of_points,Polyfill_table_of_points,color);
 | 
				
			||||||
    free(Polyfill_table_of_points);
 | 
					    free(Polyfill_table_of_points);
 | 
				
			||||||
 | 
					    Polyfill_table_of_points = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    End_of_modification();
 | 
					    End_of_modification();
 | 
				
			||||||
    if ( (Config.Coords_rel) && (Menu_is_visible) )
 | 
					    if ( (Config.Coords_rel) && (Menu_is_visible) )
 | 
				
			||||||
@ -2556,6 +2557,7 @@ void Filled_polyform_12_8(void)
 | 
				
			|||||||
    Display_all_screen();
 | 
					    Display_all_screen();
 | 
				
			||||||
    Polyfill(Polyfill_number_of_points,Polyfill_table_of_points,color);
 | 
					    Polyfill(Polyfill_number_of_points,Polyfill_table_of_points,color);
 | 
				
			||||||
    free(Polyfill_table_of_points);
 | 
					    free(Polyfill_table_of_points);
 | 
				
			||||||
 | 
					    Polyfill_table_of_points = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Paintbrush_hidden=0;
 | 
					    Paintbrush_hidden=0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -2640,6 +2642,7 @@ void Filled_contour_0_8(void)
 | 
				
			|||||||
  Display_all_screen();
 | 
					  Display_all_screen();
 | 
				
			||||||
  Polyfill(Polyfill_number_of_points,Polyfill_table_of_points,color);
 | 
					  Polyfill(Polyfill_number_of_points,Polyfill_table_of_points,color);
 | 
				
			||||||
  free(Polyfill_table_of_points);
 | 
					  free(Polyfill_table_of_points);
 | 
				
			||||||
 | 
					  Polyfill_table_of_points = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Paintbrush_hidden=0;
 | 
					  Paintbrush_hidden=0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								pages.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								pages.c
									
									
									
									
									
								
							@ -116,8 +116,9 @@ void Free_layer(T_Page * page, byte layer)
 | 
				
			|||||||
  ptr = (short *)(page->Image[layer]);
 | 
					  ptr = (short *)(page->Image[layer]);
 | 
				
			||||||
  if (-- (*(ptr-1))) // Users--
 | 
					  if (-- (*(ptr-1))) // Users--
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
  else
 | 
					  else {
 | 
				
			||||||
    free(ptr-1);
 | 
					    free(ptr-1);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
  // Stats
 | 
					  // Stats
 | 
				
			||||||
  Stats_pages_number--;
 | 
					  Stats_pages_number--;
 | 
				
			||||||
@ -486,6 +487,7 @@ void Free_last_page_of_list(T_List_of_pages * list)
 | 
				
			|||||||
        page->Prev->Next = page->Next;
 | 
					        page->Prev->Next = page->Next;
 | 
				
			||||||
        Clear_page(page);
 | 
					        Clear_page(page);
 | 
				
			||||||
        free(page);
 | 
					        free(page);
 | 
				
			||||||
 | 
					        page = NULL;
 | 
				
			||||||
        list->List_size--;
 | 
					        list->List_size--;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user