From b2e951ec58973b911515b0770ef859cf9b779533 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 14 Oct 2013 09:15:09 +0000 Subject: [PATCH] * gen-aout.c (main): Fix formatting. Close file. * emultempl/aix.em (_read_file): Close file at end of function. * gas/all/itbl-test.c (main): Close fas. * read.c (add_include_dir): Use xrealloc. * config/tc-score.c (do_macro_bcmp): Initialise inst_main. * config/tc-tic6x.c (tic6x_parse_operand): Initialise second_reg. * readelf.c (decode_arm_unwind): Initialise addr structure. (process_symbol_table): Free lengths. * srcconv.c (wr_sc): Free info. * chew.c (perform): Free next. --- bfd/ChangeLog | 4 ++ bfd/doc/ChangeLog | 4 ++ bfd/doc/chew.c | 2 +- bfd/gen-aout.c | 96 +++++++++++++++++-------------- binutils/ChangeLog | 6 ++ binutils/readelf.c | 4 +- binutils/srconv.c | 1 + gas/ChangeLog | 6 ++ gas/config/tc-score.c | 2 +- gas/config/tc-tic6x.c | 2 +- gas/read.c | 8 +-- gas/testsuite/ChangeLog | 4 ++ gas/testsuite/gas/all/itbl-test.c | 3 +- ld/ChangeLog | 4 ++ ld/emultempl/aix.em | 7 ++- 15 files changed, 97 insertions(+), 56 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f7cc20f3ec1..f4dcecbc736 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2013-10-14 Nick Clifton + + * gen-aout.c (main): Fix formatting. Close file. + 2013-10-13 Richard Sandiford * elfxx-mips.c (mips_use_local_got_p): New function. diff --git a/bfd/doc/ChangeLog b/bfd/doc/ChangeLog index c33eb3b3b31..08c278081c5 100644 --- a/bfd/doc/ChangeLog +++ b/bfd/doc/ChangeLog @@ -1,3 +1,7 @@ +2013-10-14 Nick Clifton + + * chew.c (perform): Free next. + 2013-04-15 Alan Modra * Makefile.am ($(MKDOC)): Append $(EXEEXT_FOR_BUILD) to temp file. diff --git a/bfd/doc/chew.c b/bfd/doc/chew.c index f949e1f7ffc..b019837b13b 100644 --- a/bfd/doc/chew.c +++ b/bfd/doc/chew.c @@ -1256,7 +1256,7 @@ perform () fprintf (stderr, "warning, %s is not recognised\n", next); skip_past_newline (); } - + free (next); } else skip_past_newline (); diff --git a/bfd/gen-aout.c b/bfd/gen-aout.c index 45331e0c813..5e791ec15aa 100644 --- a/bfd/gen-aout.c +++ b/bfd/gen-aout.c @@ -1,6 +1,5 @@ /* Generate parameters for an a.out system. - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 2001, 2002, 2005, 2007 - Free Software Foundation, Inc. + Copyright 1990-2013 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -27,58 +26,69 @@ #endif int -main (argc, argv) - int argc; char** argv; +main (int argc, char** argv) { struct exec my_exec; int page_size; - char *target = "unknown", *arch = "unknown"; - FILE *file = fopen("gen-aout", "r"); + char * target; + char * arch = "unknown"; + FILE * file; - if (file == NULL) { - fprintf(stderr, "Cannot open gen-aout!\n"); + target = argv[1]; + if (target == NULL) + { + fprintf (stderr, "Usage: gen-aout target_name\n"); + exit (1); + } + + file = fopen ("gen-aout", "r"); + if (file == NULL) + { + fprintf (stderr, "Cannot open gen-aout!\n"); return -1; - } - if (fread(&my_exec, sizeof(struct exec), 1, file) != 1) { + } + + if (fread (&my_exec, sizeof (struct exec), 1, file) != 1) + { fprintf(stderr, "Cannot read gen-aout!\n"); return -1; - } + } - target = argv[1]; - if (target == NULL) { - fprintf(stderr, "Usage: gen-aout target_name\n"); - exit (1); - } + fclose (file); #ifdef N_TXTOFF page_size = N_TXTOFF(my_exec); if (page_size == 0) - printf("#define N_HEADER_IN_TEXT(x) 1\n"); + printf ("#define N_HEADER_IN_TEXT(x) 1\n"); else - printf("#define N_HEADER_IN_TEXT(x) 0\n"); + printf ("#define N_HEADER_IN_TEXT(x) 0\n"); #endif printf("#define BYTES_IN_WORD %d\n", sizeof (int)); - if (my_exec.a_entry == 0) { - printf("#define ENTRY_CAN_BE_ZERO\n"); - printf("#define N_SHARED_LIB(x) 0 /* Avoids warning */\n"); - } - else { - printf("/*#define ENTRY_CAN_BE_ZERO*/\n"); - printf("/*#define N_SHARED_LIB(x) 0*/\n"); - } + if (my_exec.a_entry == 0) + { + printf ("#define ENTRY_CAN_BE_ZERO\n"); + printf ("#define N_SHARED_LIB(x) 0 /* Avoids warning */\n"); + } + else + { + printf ("/*#define ENTRY_CAN_BE_ZERO*/\n"); + printf ("/*#define N_SHARED_LIB(x) 0*/\n"); + } - printf("#define TEXT_START_ADDR %d\n", my_exec.a_entry); + printf ("#define TEXT_START_ADDR %d\n", my_exec.a_entry); #ifdef PAGSIZ if (page_size == 0) page_size = PAGSIZ; #endif + if (page_size != 0) - printf("#define TARGET_PAGE_SIZE %d\n", page_size); + printf ("#define TARGET_PAGE_SIZE %d\n", page_size); else - printf("/* #define TARGET_PAGE_SIZE ??? */\n"); - printf("#define SEGMENT_SIZE TARGET_PAGE_SIZE\n"); + printf ("/* #define TARGET_PAGE_SIZE ??? */\n"); + + printf ("#define SEGMENT_SIZE TARGET_PAGE_SIZE\n"); #ifdef vax arch = "vax"; @@ -92,19 +102,19 @@ main (argc, argv) fprintf (stderr, _(" fix DEFAULT_ARCH in the output file yourself\n")); arch = "unknown"; } - printf("#define DEFAULT_ARCH bfd_arch_%s\n\n", arch); - - printf("/* Do not \"beautify\" the CONCAT* macro args. Traditional C will not"); - printf(" remove whitespace added here, and thus will fail to concatenate"); - printf(" the tokens. */"); - printf("\n#define MY(OP) CONCAT2 (%s_,OP)\n\n", target); - printf("#define TARGETNAME \"a.out-%s\"\n\n", target); - - printf("#include \"sysdep.h\"\n"); - printf("#include \"bfd.h\"\n"); - printf("#include \"libbfd.h\"\n"); - printf("#include \"libaout.h\"\n"); - printf("\n#include \"aout-target.h\"\n"); + printf ("#define DEFAULT_ARCH bfd_arch_%s\n\n", arch); + + printf ("/* Do not \"beautify\" the CONCAT* macro args. Traditional C will not"); + printf (" remove whitespace added here, and thus will fail to concatenate"); + printf (" the tokens. */"); + printf ("\n#define MY(OP) CONCAT2 (%s_,OP)\n\n", target); + printf ("#define TARGETNAME \"a.out-%s\"\n\n", target); + + printf ("#include \"sysdep.h\"\n"); + printf ("#include \"bfd.h\"\n"); + printf ("#include \"libbfd.h\"\n"); + printf ("#include \"libaout.h\"\n"); + printf ("\n#include \"aout-target.h\"\n"); return 0; } diff --git a/binutils/ChangeLog b/binutils/ChangeLog index d7421c10c6e..078b74d8b6b 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2013-10-14 Nick Clifton + + * readelf.c (decode_arm_unwind): Initialise addr structure. + (process_symbol_table): Free lengths. + * srcconv.c (wr_sc): Free info. + 2013-10-11 Roland McGrath * winduni.c (languages): Use \345 (octal syntax) rather than diff --git a/binutils/readelf.c b/binutils/readelf.c index 19b46c9c05c..32e0cf00144 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -7170,7 +7170,7 @@ decode_arm_unwind (struct arm_unw_aux_info * aux, { int per_index; unsigned int more_words = 0; - struct absaddr addr; + struct absaddr addr = { 0 }; bfd_vma sym_name = (bfd_vma) -1; if (remaining == 0) @@ -9858,6 +9858,7 @@ process_symbol_table (FILE * file) counts = (unsigned long *) calloc (maxlength + 1, sizeof (*counts)); if (counts == NULL) { + free (lengths); error (_("Out of memory\n")); return 0; } @@ -9926,6 +9927,7 @@ process_symbol_table (FILE * file) counts = (unsigned long *) calloc (maxlength + 1, sizeof (*counts)); if (counts == NULL) { + free (lengths); error (_("Out of memory\n")); return 0; } diff --git a/binutils/srconv.c b/binutils/srconv.c index 7b3d4a7550c..dcf33b9a701 100644 --- a/binutils/srconv.c +++ b/binutils/srconv.c @@ -1578,6 +1578,7 @@ wr_sc (struct coff_ofile *ptr, struct coff_sfile *sfile) sysroff_swap_sc_out (file, &sc); scount++; } + free (info); return scount; } diff --git a/gas/ChangeLog b/gas/ChangeLog index ccc6f04900b..5d9cc80dfe0 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2013-10-14 Nick Clifton + + * read.c (add_include_dir): Use xrealloc. + * config/tc-score.c (do_macro_bcmp): Initialise inst_main. + * config/tc-tic6x.c (tic6x_parse_operand): Initialise second_reg. + 2013-10-13 Sandra Loosemore * config/tc-nios2.c (nios2_consume_arg): Make the "ba" warning diff --git a/gas/config/tc-score.c b/gas/config/tc-score.c index 822b9cfd5ba..2bb3fbe1696 100644 --- a/gas/config/tc-score.c +++ b/gas/config/tc-score.c @@ -4489,7 +4489,7 @@ s3_do_macro_bcmp (char *str) char* ptemp; int i = 0; struct s3_score_it inst_expand[2]; - struct s3_score_it inst_main; + struct s3_score_it inst_main = { 0 }; memset (inst_expand, 0, sizeof inst_expand); s3_skip_whitespace (str); diff --git a/gas/config/tc-tic6x.c b/gas/config/tc-tic6x.c index 81f33f40f13..fda9cd354eb 100644 --- a/gas/config/tc-tic6x.c +++ b/gas/config/tc-tic6x.c @@ -1596,7 +1596,7 @@ tic6x_parse_operand (char **p, tic6x_operand *op, unsigned int op_forms, /* See if this looks like a register or register pair. */ if (!operand_parsed && (op_forms & (TIC6X_OP_REG | TIC6X_OP_REGPAIR))) { - tic6x_register first_reg, second_reg; + tic6x_register first_reg, second_reg = { 0 }; bfd_boolean reg_ok; char *rq = q; diff --git a/gas/read.c b/gas/read.c index 082670c4450..02f5a255b64 100644 --- a/gas/read.c +++ b/gas/read.c @@ -1,7 +1,5 @@ /* read.c - read a source file - - Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, - 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, - 2010, 2011, 2012 Free Software Foundation, Inc. + Copyright 1986-2013 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -5794,8 +5792,8 @@ add_include_dir (char *path) { include_dir_count++; include_dirs = - (char **) realloc (include_dirs, - include_dir_count * sizeof (*include_dirs)); + (char **) xrealloc (include_dirs, + include_dir_count * sizeof (*include_dirs)); } include_dirs[include_dir_count - 1] = path; /* New one. */ diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 55138677550..9100e4b3399 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2013-10-14 Nick Clifton + + * gas/all/itbl-test.c (main): Close fas. + 2013-10-13 Sandra Loosemore * gas/nios2/warn_nobreak.l: Update text of warning messages. diff --git a/gas/testsuite/gas/all/itbl-test.c b/gas/testsuite/gas/all/itbl-test.c index 38fcfc58f1d..c00ff1ae873 100644 --- a/gas/testsuite/gas/all/itbl-test.c +++ b/gas/testsuite/gas/all/itbl-test.c @@ -1,6 +1,6 @@ /* itbl-test.c - Copyright (C) 1997, 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 1997-2013 Free Software Foundation. This file is part of GAS, the GNU Assembler. @@ -97,6 +97,7 @@ main (int argc, char **argv) test_reg (3, e_creg, "c2", 22); test_reg (3, e_dreg, "d3", 3); + fclose (fas); return 0; } diff --git a/ld/ChangeLog b/ld/ChangeLog index 14287ddd3a8..b8ebe32c12a 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2013-10-14 Nick Clifton + + * emultempl/aix.em (_read_file): Close file at end of function. + 2013-10-10 Roland McGrath * ldmisc.c (vfinfo): Use Boolean ? "" : ":" in place of ":" + Boolean. diff --git a/ld/emultempl/aix.em b/ld/emultempl/aix.em index b48228a134e..aa72ce64c4f 100644 --- a/ld/emultempl/aix.em +++ b/ld/emultempl/aix.em @@ -9,9 +9,7 @@ fragment < AIX support by Ian Lance Taylor AIX 64 bit support by Tom Rix @@ -1110,6 +1108,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import) { bfd_set_error (bfd_error_system_call); einfo ("%F%s: %E\n", filename); + return; } keep = FALSE; @@ -1314,6 +1313,8 @@ gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import) obstack_free (o, NULL); free (o); } + + fclose (f); } /* This routine saves us from worrying about declaring free. */ -- 2.39.2