--- gcc-4.9.4/gcc/c/c-convert.c +++ gcc-4.9.4-format-security/gcc/c/c-convert.c @@ -79,7 +79,7 @@ convert (tree type, tree expr) if ((invalid_conv_diag = targetm.invalid_conversion (TREE_TYPE (expr), type))) { - error (invalid_conv_diag); + error ("%s", invalid_conv_diag); return error_mark_node; } --- gcc-4.9.4/gcc/c/c-decl.c +++ gcc-4.9.4-format-security/gcc/c/c-decl.c @@ -5699,7 +5699,7 @@ grokdeclarator (const struct c_declarato errmsg = targetm.invalid_return_type (type); if (errmsg) { - error (errmsg); + error ("%s", errmsg); type = integer_type_node; } @@ -6480,7 +6480,7 @@ grokparms (struct c_arg_info *arg_info, errmsg = targetm.invalid_parameter_type (type); if (errmsg) { - error (errmsg); + error ("%s", errmsg); TREE_VALUE (typelt) = error_mark_node; TREE_TYPE (parm) = error_mark_node; arg_types = NULL_TREE; --- gcc-4.9.4/gcc/c/c-typeck.c +++ gcc-4.9.4-format-security/gcc/c/c-typeck.c @@ -3300,7 +3300,7 @@ convert_arguments (location_t loc, vec. */ - error (gmsgid); + error ("%s", gmsgid); ofwhat = print_spelling ((char *) alloca (spelling_length () + 1)); if (*ofwhat) error ("(near initialization for %qs)", ofwhat); @@ -6437,7 +6437,7 @@ pedwarn_init (location_t location, int o char *ofwhat; /* The gmsgid may be a format string with %< and %>. */ - pedwarn (location, opt, gmsgid); + pedwarn (location, opt, "%s", gmsgid); ofwhat = print_spelling ((char *) alloca (spelling_length () + 1)); if (*ofwhat) pedwarn (location, opt, "(near initialization for %qs)", ofwhat); @@ -6455,7 +6455,7 @@ warning_init (int opt, const char *gmsgi char *ofwhat; /* The gmsgid may be a format string with %< and %>. */ - warning (opt, gmsgid); + warning (opt, "%s", gmsgid); ofwhat = print_spelling ((char *) alloca (spelling_length () + 1)); if (*ofwhat) warning (opt, "(near initialization for %qs)", ofwhat); @@ -10114,7 +10114,7 @@ build_binary_op (location_t location, en if ((invalid_op_diag = targetm.invalid_binary_op (code, type0, type1))) { - error_at (location, invalid_op_diag); + error_at (location, "%s", invalid_op_diag); return error_mark_node; } --- gcc-4.9.4/gcc/c-family/c-common.c +++ gcc-4.9.4-format-security/gcc/c-family/c-common.c @@ -9604,11 +9604,11 @@ c_parse_error (const char *gmsgid, enum message = NULL; } else - error (gmsgid); + error ("%s", gmsgid); if (message) { - error (message); + error ("%s", message); free (message); } #undef catenate_messages --- gcc-4.9.4/gcc/collect2.c +++ gcc-4.9.4-format-security/gcc/collect2.c @@ -1992,7 +1992,7 @@ collect_execute (const char *prog, char fatal_error ("%s: %m", _(errmsg)); } else - fatal_error (errmsg); + fatal_error ("%s", errmsg); } free (response_arg); @@ -2543,7 +2543,7 @@ scan_prog_file (const char *prog_name, s fatal_error ("%s: %m", _(errmsg)); } else - fatal_error (errmsg); + fatal_error ("%s", errmsg); } int_handler = (void (*) (int)) signal (SIGINT, SIG_IGN); --- gcc-4.9.4/gcc/cp/cvt.c +++ gcc-4.9.4-format-security/gcc/cp/cvt.c @@ -682,7 +682,7 @@ ocp_convert (tree type, tree expr, int c = targetm.invalid_conversion (TREE_TYPE (expr), type))) { if (complain & tf_error) - error (invalid_conv_diag); + error ("%s", invalid_conv_diag); return error_mark_node; } --- gcc-4.9.4/gcc/cp/decl.c +++ gcc-4.9.4-format-security/gcc/cp/decl.c @@ -9543,7 +9543,7 @@ grokdeclarator (const cp_declarator *dec errmsg = targetm.invalid_return_type (type); if (errmsg) { - error (errmsg); + error ("%s", errmsg); type = integer_type_node; } @@ -11120,7 +11120,7 @@ grokparms (tree parmlist, tree *parms) if (type != error_mark_node && (errmsg = targetm.invalid_parameter_type (type))) { - error (errmsg); + error ("%s", errmsg); type = error_mark_node; TREE_TYPE (decl) = error_mark_node; } --- gcc-4.9.4/gcc/cp/init.c +++ gcc-4.9.4-format-security/gcc/cp/init.c @@ -2399,7 +2399,7 @@ build_new_1 (vec **placemen msg = ("non-constant array new length must be specified " "without parentheses around the type-id"); pedwarn (EXPR_LOC_OR_LOC (outer_nelts, input_location), - OPT_Wvla, msg); + OPT_Wvla, "%s", msg); } else return error_mark_node; @@ -2408,7 +2408,7 @@ build_new_1 (vec **placemen if (VOID_TYPE_P (elt_type)) { if (complain & tf_error) - error ("invalid type % for new"); + error ("%s", "invalid type % for new"); return error_mark_node; } --- gcc-4.9.4/gcc/cp/parser.c +++ gcc-4.9.4-format-security/gcc/cp/parser.c @@ -2668,7 +2668,7 @@ cp_parser_check_type_definition (cp_pars { /* Don't use `%s' to print the string, because quotations (`%<', `%>') in the message need to be interpreted. */ - error (parser->type_definition_forbidden_message); + error ("%s", parser->type_definition_forbidden_message); return false; } return true; --- gcc-4.9.4/gcc/cp/pt.c +++ gcc-4.9.4-format-security/gcc/cp/pt.c @@ -14227,7 +14227,7 @@ tsubst_copy_and_build (tree t, &error_msg, input_location); if (error_msg) - error (error_msg); + error ("%s", error_msg); if (!function_p && identifier_p (decl)) { if (complain & tf_error) --- gcc-4.9.4/gcc/cp/typeck.c +++ gcc-4.9.4-format-security/gcc/cp/typeck.c @@ -3993,7 +3993,7 @@ cp_build_binary_op (location_t location, = targetm.invalid_binary_op (code, type0, type1))) { if (complain & tf_error) - error (invalid_op_diag); + error ("%s", invalid_op_diag); return error_mark_node; } @@ -5586,7 +5586,7 @@ cp_build_unary_op (enum tree_code code, TREE_TYPE (xarg)))) { if (complain & tf_error) - error (invalid_op_diag); + error ("%s", invalid_op_diag); return error_mark_node; } --- gcc-4.9.4/gcc/dwarf2asm.c +++ gcc-4.9.4-format-security/gcc/dwarf2asm.c @@ -164,7 +164,7 @@ dw2_asm_output_vms_delta (int size ATTRI #ifndef ASM_OUTPUT_DWARF_VMS_DELTA /* VMS Delta is only special on ia64-vms, but this function also gets called on alpha-vms so it has to do something sane. */ - dw2_asm_output_delta (size, lab1, lab2, comment); + dw2_asm_output_delta (size, lab1, lab2, "%s", comment); #else ASM_OUTPUT_DWARF_VMS_DELTA (asm_out_file, size, lab1, lab2); if (flag_debug_asm && comment) --- gcc-4.9.4/gcc/fold-const.c +++ gcc-4.9.4-format-security/gcc/fold-const.c @@ -312,7 +312,7 @@ fold_overflow_warning (const char* gmsgi } } else if (issue_strict_overflow_warning (wc)) - warning (OPT_Wstrict_overflow, gmsgid); + warning (OPT_Wstrict_overflow, "%s", gmsgid); } /* Return true if the built-in mathematical function specified by CODE --- gcc-4.9.4/gcc/fortran/arith.c +++ gcc-4.9.4-format-security/gcc/fortran/arith.c @@ -1578,7 +1578,7 @@ eval_intrinsic (gfc_intrinsic_op op, if (rc != ARITH_OK) { - gfc_error (gfc_arith_error (rc), &op1->where); + gfc_error ("%s", gfc_arith_error (rc), &op1->where); return NULL; } --- gcc-4.9.4/gcc/fortran/decl.c +++ gcc-4.9.4-format-security/gcc/fortran/decl.c @@ -2239,7 +2239,7 @@ kind_expr: if (msg != NULL) { - gfc_error (msg); + gfc_error ("%s", msg); m = MATCH_ERROR; goto no_match; } @@ -2371,7 +2371,7 @@ match_char_kind (int * kind, int * is_is *is_iso_c = e->ts.is_iso_c; if (msg != NULL) { - gfc_error (msg); + gfc_error ("%s", msg); m = MATCH_ERROR; goto no_match; } @@ -2867,7 +2867,7 @@ gfc_match_decl_type_spec (gfc_typespec * /* Use upper case to save the actual derived-type symbol. */ gfc_get_symbol (dt_name, NULL, &dt_sym); - dt_sym->name = gfc_get_string (sym->name); + dt_sym->name = gfc_get_string ("%s", sym->name); head = sym->generic; intr = gfc_get_interface (); intr->sym = dt_sym; @@ -7610,7 +7610,7 @@ gfc_match_derived_decl (void) gfc_get_symbol (gfc_get_string ("%c%s", (char) TOUPPER ((unsigned char) gensym->name[0]), &gensym->name[1]), NULL, &sym); - sym->name = gfc_get_string (gensym->name); + sym->name = gfc_get_string ("%s", gensym->name); head = gensym->generic; intr = gfc_get_interface (); intr->sym = sym; @@ -8033,7 +8033,7 @@ match_binding_attributes (gfc_typebound_ if (m == MATCH_ERROR) goto error; if (m == MATCH_YES) - ba->pass_arg = gfc_get_string (arg); + ba->pass_arg = gfc_get_string ("%s", arg); gcc_assert ((m == MATCH_YES) == (ba->pass_arg != NULL)); found_passing = true; --- gcc-4.9.4/gcc/fortran/frontend-passes.c +++ gcc-4.9.4-format-security/gcc/fortran/frontend-passes.c @@ -1648,7 +1648,7 @@ optimize_minmaxloc (gfc_expr **e) strcpy (name, fn->value.function.name); p = strstr (name, "loc0"); p[3] = '1'; - fn->value.function.name = gfc_get_string (name); + fn->value.function.name = gfc_get_string ("%s", name); if (fn->value.function.actual->next) { a = fn->value.function.actual->next; --- gcc-4.9.4/gcc/fortran/intrinsic.c +++ gcc-4.9.4-format-security/gcc/fortran/intrinsic.c @@ -332,11 +332,11 @@ add_sym (const char *name, gfc_isym_id i break; case SZ_NOTHING: - next_sym->name = gfc_get_string (name); + next_sym->name = gfc_get_string ("%s", name); strcpy (buf, "_gfortran_"); strcat (buf, name); - next_sym->lib_name = gfc_get_string (buf); + next_sym->lib_name = gfc_get_string ("%s", buf); next_sym->pure = (cl != CLASS_IMPURE); next_sym->elemental = (cl == CLASS_ELEMENTAL); @@ -860,7 +860,7 @@ find_sym (gfc_intrinsic_sym *start, int /* name may be a user-supplied string, so we must first make sure that we're comparing against a pointer into the global string table. */ - const char *p = gfc_get_string (name); + const char *p = gfc_get_string ("%s", name); while (n > 0) { @@ -1130,7 +1130,7 @@ make_alias (const char *name, int standa case SZ_NOTHING: next_sym[0] = next_sym[-1]; - next_sym->name = gfc_get_string (name); + next_sym->name = gfc_get_string ("%s", name); next_sym->standard = standard; next_sym++; break; --- gcc-4.9.4/gcc/fortran/iresolve.c +++ gcc-4.9.4-format-security/gcc/fortran/iresolve.c @@ -141,7 +141,7 @@ resolve_bound (gfc_expr *f, gfc_expr *ar } } - f->value.function.name = gfc_get_string (name); + f->value.function.name = gfc_get_string ("%s", name); } --- gcc-4.9.4/gcc/fortran/match.c +++ gcc-4.9.4-format-security/gcc/fortran/match.c @@ -398,7 +398,7 @@ gfc_match_small_int (int *value) if (p != NULL) { - gfc_error (p); + gfc_error ("%s", p); m = MATCH_ERROR; } @@ -430,7 +430,7 @@ gfc_match_small_int_expr (int *value, gf if (p != NULL) { - gfc_error (p); + gfc_error ("%s", p); m = MATCH_ERROR; } --- gcc-4.9.4/gcc/fortran/matchexp.c +++ gcc-4.9.4-format-security/gcc/fortran/matchexp.c @@ -186,7 +186,7 @@ match_primary (gfc_expr **result) return MATCH_YES; syntax: - gfc_error (expression_syntax); + gfc_error ("%s", expression_syntax); return MATCH_ERROR; } @@ -470,7 +470,7 @@ match_level_2 (gfc_expr **result) m = match_ext_add_operand (&e); if (m == MATCH_NO) { - gfc_error (expression_syntax); + gfc_error ("%s", expression_syntax); m = MATCH_ERROR; } } @@ -509,7 +509,7 @@ match_level_2 (gfc_expr **result) m = match_ext_add_operand (&e); if (m == MATCH_NO) - gfc_error (expression_syntax); + gfc_error ("%s", expression_syntax); if (m != MATCH_YES) { gfc_free_expr (all); @@ -559,7 +559,7 @@ match_level_3 (gfc_expr **result) m = match_level_2 (&e); if (m == MATCH_NO) - gfc_error (expression_syntax); + gfc_error ("%s", expression_syntax); if (m != MATCH_YES) { gfc_free_expr (all); @@ -620,7 +620,7 @@ match_level_4 (gfc_expr **result) m = match_level_3 (&right); if (m == MATCH_NO) - gfc_error (expression_syntax); + gfc_error ("%s", expression_syntax); if (m != MATCH_YES) { gfc_free_expr (left); @@ -729,7 +729,7 @@ match_or_operand (gfc_expr **result) m = match_and_operand (&e); if (m == MATCH_NO) - gfc_error (expression_syntax); + gfc_error ("%s", expression_syntax); if (m != MATCH_YES) { gfc_free_expr (all); @@ -772,7 +772,7 @@ match_equiv_operand (gfc_expr **result) m = match_or_operand (&e); if (m == MATCH_NO) - gfc_error (expression_syntax); + gfc_error ("%s", expression_syntax); if (m != MATCH_YES) { gfc_free_expr (all); @@ -826,7 +826,7 @@ match_level_5 (gfc_expr **result) m = match_equiv_operand (&e); if (m == MATCH_NO) - gfc_error (expression_syntax); + gfc_error ("%s", expression_syntax); if (m != MATCH_YES) { gfc_free_expr (all); @@ -885,7 +885,7 @@ gfc_match_expr (gfc_expr **result) m = match_level_5 (&e); if (m == MATCH_NO) - gfc_error (expression_syntax); + gfc_error ("%s", expression_syntax); if (m != MATCH_YES) { gfc_free_expr (all); --- gcc-4.9.4/gcc/fortran/module.c +++ gcc-4.9.4-format-security/gcc/fortran/module.c @@ -418,7 +418,7 @@ dt_lower_string (const char *name) if (name[0] != (char) TOLOWER ((unsigned char) name[0])) return gfc_get_string ("%c%s", (char) TOLOWER ((unsigned char) name[0]), &name[1]); - return gfc_get_string (name); + return gfc_get_string ("%s", name); } @@ -433,7 +433,7 @@ dt_upper_string (const char *name) if (name[0] != (char) TOUPPER ((unsigned char) name[0])) return gfc_get_string ("%c%s", (char) TOUPPER ((unsigned char) name[0]), &name[1]); - return gfc_get_string (name); + return gfc_get_string ("%s", name); } /* Call here during module reading when we know what pointer to @@ -584,7 +584,7 @@ gfc_match_use (void) return m; } - use_list->module_name = gfc_get_string (name); + use_list->module_name = gfc_get_string ("%s", name); if (gfc_match_eos () == MATCH_YES) goto done; @@ -855,9 +855,9 @@ find_true_name (const char *name, const gfc_symbol sym; int c; - t.name = gfc_get_string (name); + t.name = gfc_get_string ("%s", name); if (module != NULL) - sym.module = gfc_get_string (module); + sym.module = gfc_get_string ("%s", module); else sym.module = NULL; t.sym = &sym; @@ -1845,7 +1845,7 @@ mio_pool_string (const char **stringp) else { require_atom (ATOM_STRING); - *stringp = atom_string[0] == '\0' ? NULL : gfc_get_string (atom_string); + *stringp = atom_string[0] == '\0' ? NULL : gfc_get_string ("%s", atom_string); free (atom_string); } } @@ -2796,7 +2796,7 @@ mio_symtree_ref (gfc_symtree **stp) { p->u.rsym.sym = gfc_new_symbol (p->u.rsym.true_name, gfc_current_ns); - p->u.rsym.sym->module = gfc_get_string (p->u.rsym.module); + p->u.rsym.sym->module = gfc_get_string ("%s", p->u.rsym.module); } p->u.rsym.symtree->n.sym = p->u.rsym.sym; @@ -4346,7 +4346,7 @@ load_generic_interfaces (void) if (!sym) { gfc_get_symbol (p, NULL, &sym); - sym->name = gfc_get_string (name); + sym->name = gfc_get_string ("%s", name); sym->module = module_name; sym->attr.flavor = FL_PROCEDURE; sym->attr.generic = 1; @@ -4759,7 +4759,7 @@ load_needed (pointer_info *p) sym = gfc_new_symbol (p->u.rsym.true_name, ns); sym->name = dt_lower_string (p->u.rsym.true_name); - sym->module = gfc_get_string (p->u.rsym.module); + sym->module = gfc_get_string ("%s", p->u.rsym.module); if (p->u.rsym.binding_label) sym->binding_label = IDENTIFIER_POINTER (get_identifier (p->u.rsym.binding_label)); @@ -5120,7 +5120,7 @@ read_module (void) gfc_current_ns); info->u.rsym.sym->name = dt_lower_string (info->u.rsym.true_name); sym = info->u.rsym.sym; - sym->module = gfc_get_string (info->u.rsym.module); + sym->module = gfc_get_string ("%s", info->u.rsym.module); if (info->u.rsym.binding_label) sym->binding_label = @@ -5475,7 +5475,7 @@ write_dt_extensions (gfc_symtree *st) strcpy (name, module_name); mio_internal_string (name); if (iomode == IO_INPUT) - module_name = gfc_get_string (name); + module_name = gfc_get_string ("%s", name); } mio_rparen (); } @@ -6052,7 +6052,7 @@ gfc_dump_module (const char *name, int d /* Write the module itself. */ iomode = IO_OUTPUT; - module_name = gfc_get_string (name); + module_name = gfc_get_string ("%s", name); init_pi_tree (); @@ -6139,7 +6139,7 @@ create_intrinsic_function (const char *n sym->attr.flavor = FL_PROCEDURE; sym->attr.intrinsic = 1; - sym->module = gfc_get_string (modname); + sym->module = gfc_get_string ("%s", modname); sym->attr.use_assoc = 1; sym->from_intmod = module; sym->intmod_sym_id = id; @@ -6179,7 +6179,7 @@ import_iso_c_binding_module (void) mod_sym->attr.flavor = FL_MODULE; mod_sym->attr.intrinsic = 1; - mod_sym->module = gfc_get_string (iso_c_module_name); + mod_sym->module = gfc_get_string ("%s", iso_c_module_name); mod_sym->from_intmod = INTMOD_ISO_C_BINDING; } @@ -6437,7 +6437,7 @@ create_int_parameter (const char *name, gfc_get_sym_tree (name, gfc_current_ns, &tmp_symtree, false); sym = tmp_symtree->n.sym; - sym->module = gfc_get_string (modname); + sym->module = gfc_get_string ("%s", modname); sym->attr.flavor = FL_PARAMETER; sym->ts.type = BT_INTEGER; sym->ts.kind = gfc_default_integer_kind; @@ -6470,7 +6470,7 @@ create_int_parameter_array (const char * gfc_get_sym_tree (name, gfc_current_ns, &tmp_symtree, false); sym = tmp_symtree->n.sym; - sym->module = gfc_get_string (modname); + sym->module = gfc_get_string ("%s", modname); sym->attr.flavor = FL_PARAMETER; sym->ts.type = BT_INTEGER; sym->ts.kind = gfc_default_integer_kind; @@ -6511,7 +6511,7 @@ create_derived_type (const char *name, c gfc_get_sym_tree (name, gfc_current_ns, &tmp_symtree, false); sym = tmp_symtree->n.sym; - sym->module = gfc_get_string (modname); + sym->module = gfc_get_string ("%s", modname); sym->from_intmod = module; sym->intmod_sym_id = id; sym->attr.flavor = FL_PROCEDURE; @@ -6521,12 +6521,12 @@ create_derived_type (const char *name, c gfc_get_sym_tree (dt_upper_string (sym->name), gfc_current_ns, &tmp_symtree, false); dt_sym = tmp_symtree->n.sym; - dt_sym->name = gfc_get_string (sym->name); + dt_sym->name = gfc_get_string ("%s", sym->name); dt_sym->attr.flavor = FL_DERIVED; dt_sym->attr.private_comp = 1; dt_sym->attr.zero_comp = 1; dt_sym->attr.use_assoc = 1; - dt_sym->module = gfc_get_string (modname); + dt_sym->module = gfc_get_string ("%s", modname); dt_sym->from_intmod = module; dt_sym->intmod_sym_id = id; @@ -6606,7 +6606,7 @@ use_iso_fortran_env_module (void) mod_sym->attr.flavor = FL_MODULE; mod_sym->attr.intrinsic = 1; - mod_sym->module = gfc_get_string (mod); + mod_sym->module = gfc_get_string ("%s", mod); mod_sym->from_intmod = INTMOD_ISO_FORTRAN_ENV; } else --- gcc-4.9.4/gcc/fortran/openmp.c +++ gcc-4.9.4-format-security/gcc/fortran/openmp.c @@ -575,7 +575,7 @@ gfc_match_omp_clauses (gfc_omp_clauses * const char *p = gfc_extract_int (cexpr, &collapse); if (p) { - gfc_error_now (p); + gfc_error_now ("%s", p); collapse = 1; } else if (collapse <= 0) --- gcc-4.9.4/gcc/fortran/primary.c +++ gcc-4.9.4-format-security/gcc/fortran/primary.c @@ -273,7 +273,7 @@ match_hollerith_constant (gfc_expr **res msg = gfc_extract_int (e, &num); if (msg != NULL) { - gfc_error (msg); + gfc_error ("%s", msg); goto cleanup; } if (num == 0) @@ -1023,7 +1023,7 @@ match_string_constant (gfc_expr **result q = gfc_extract_int (sym->value, &kind); if (q != NULL) { - gfc_error (q); + gfc_error ("%s", q); return MATCH_ERROR; } gfc_set_sym_referenced (sym); @@ -1584,7 +1584,7 @@ match_keyword_arg (gfc_actual_arglist *a } } - actual->name = gfc_get_string (name); + actual->name = gfc_get_string ("%s", name); return MATCH_YES; cleanup: --- gcc-4.9.4/gcc/fortran/symbol.c +++ gcc-4.9.4-format-security/gcc/fortran/symbol.c @@ -1911,7 +1911,7 @@ gfc_add_component (gfc_symbol *sym, cons else tail->next = p; - p->name = gfc_get_string (name); + p->name = gfc_get_string ("%s", name); p->loc = gfc_current_locus; p->ts.type = BT_UNKNOWN; @@ -2410,7 +2410,7 @@ gfc_new_symtree (gfc_symtree **root, con gfc_symtree *st; st = XCNEW (gfc_symtree); - st->name = gfc_get_string (name); + st->name = gfc_get_string ("%s", name); gfc_insert_bbt (root, st, compare_symtree); return st; @@ -2426,7 +2426,7 @@ gfc_delete_symtree (gfc_symtree **root, st0 = gfc_find_symtree (*root, name); - st.name = gfc_get_string (name); + st.name = gfc_get_string ("%s", name); gfc_delete_bbt (root, &st, compare_symtree); free (st0); @@ -2488,7 +2488,7 @@ gfc_get_uop (const char *name) st = gfc_new_symtree (&ns->uop_root, name); uop = st->n.uop = XCNEW (gfc_user_op); - uop->name = gfc_get_string (name); + uop->name = gfc_get_string ("%s", name); uop->access = ACCESS_UNKNOWN; uop->ns = ns; @@ -2595,7 +2595,7 @@ gfc_new_symbol (const char *name, gfc_na if (strlen (name) > GFC_MAX_SYMBOL_LEN) gfc_internal_error ("new_symbol(): Symbol name too long"); - p->name = gfc_get_string (name); + p->name = gfc_get_string ("%s", name); /* Make sure flags for symbol being C bound are clear initially. */ p->attr.is_bind_c = 0; @@ -3786,7 +3786,7 @@ gfc_get_gsymbol (const char *name) s = XCNEW (gfc_gsymbol); s->type = GSYM_UNKNOWN; - s->name = gfc_get_string (name); + s->name = gfc_get_string ("%s", name); gfc_insert_bbt (&gfc_gsym_root, s, gsym_compare); @@ -4232,7 +4232,7 @@ generate_isocbinding_symbol (const char } /* Say what module this symbol belongs to. */ - tmp_sym->module = gfc_get_string (mod_name); + tmp_sym->module = gfc_get_string ("%s", mod_name); tmp_sym->from_intmod = INTMOD_ISO_C_BINDING; tmp_sym->intmod_sym_id = s; tmp_sym->attr.is_iso_c = 1; @@ -4352,7 +4352,7 @@ generate_isocbinding_symbol (const char } /* Say what module this symbol belongs to. */ - dt_sym->module = gfc_get_string (mod_name); + dt_sym->module = gfc_get_string ("%s", mod_name); dt_sym->from_intmod = INTMOD_ISO_C_BINDING; dt_sym->intmod_sym_id = s; dt_sym->attr.use_assoc = 1; --- gcc-4.9.4/gcc/fortran/trans-decl.c +++ gcc-4.9.4-format-security/gcc/fortran/trans-decl.c @@ -4164,7 +4164,7 @@ gfc_find_module (const char *name) { struct module_htab_entry *entry = ggc_alloc_cleared_module_htab_entry (); - entry->name = gfc_get_string (name); + entry->name = gfc_get_string ("%s", name); entry->decls = htab_create_ggc (10, module_htab_decls_hash, module_htab_decls_eq, NULL); *slot = (void *) entry; --- gcc-4.9.4/gcc/gcc.c +++ gcc-4.9.4-format-security/gcc/gcc.c @@ -2795,7 +2795,7 @@ execute (void) if (errmsg != NULL) { if (err == 0) - fatal_error (errmsg); + fatal_error ("%s", errmsg); else { errno = err; --- gcc-4.9.4/gcc/lto-wrapper.c +++ gcc-4.9.4-format-security/gcc/lto-wrapper.c @@ -192,10 +192,10 @@ collect_execute (char **argv) if (err != 0) { errno = err; - fatal_perror (errmsg); + fatal_perror ("%s", errmsg); } else - fatal (errmsg); + fatal ("%s", errmsg); } return pex; --- gcc-4.9.4/gcc/opts.c +++ gcc-4.9.4-format-security/gcc/opts.c @@ -1054,7 +1054,7 @@ print_filtered_help (unsigned int includ { if (* (const char **) flag_var != NULL) snprintf (new_help + strlen (new_help), - sizeof (new_help) - strlen (new_help), + sizeof (new_help) - strlen (new_help),"%s", * (const char **) flag_var); } else if (option->var_type == CLVC_ENUM) @@ -1068,7 +1068,7 @@ print_filtered_help (unsigned int includ if (arg == NULL) arg = _("[default]"); snprintf (new_help + strlen (new_help), - sizeof (new_help) - strlen (new_help), + sizeof (new_help) - strlen (new_help), "%s", arg); } else --- gcc-4.9.4/gcc/tree-sra.c +++ gcc-4.9.4-format-security/gcc/tree-sra.c @@ -3884,7 +3884,7 @@ dump_dereferences_table (FILE *f, const { basic_block bb; - fprintf (dump_file, str); + fprintf (dump_file, "%s", str); FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR_FOR_FN (cfun), EXIT_BLOCK_PTR_FOR_FN (cfun), next_bb) { --- gcc-4.9.4/gcc/tree-ssa-uninit.c +++ gcc-4.9.4-format-security/gcc/tree-ssa-uninit.c @@ -751,7 +751,7 @@ dump_predicates (gimple usestmt, pred_ch { size_t i, j; pred_chain one_pred_chain = vNULL; - fprintf (dump_file, msg); + fprintf (dump_file, "%s", msg); print_gimple_stmt (dump_file, usestmt, 0, 0); fprintf (dump_file, "is guarded by :\n\n"); size_t num_preds = preds.length (); --- gcc-4.9.4/libcpp/expr.c +++ gcc-4.9.4-format-security/libcpp/expr.c @@ -671,10 +671,10 @@ cpp_classify_number (cpp_reader *pfile, if (CPP_OPTION (pfile, c99)) cpp_warning_with_line (pfile, CPP_W_LONG_LONG, virtual_location, - 0, message); + 0, "%s", message); else cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG, - virtual_location, 0, message); + virtual_location, 0, "%s", message); } result |= CPP_N_INTEGER; --- gcc-4.9.4/libcpp/macro.c +++ gcc-4.9.4-format-security/libcpp/macro.c @@ -2966,7 +2966,7 @@ create_iso_definition (cpp_reader *pfile function-like macros, but not at the end. */ if (following_paste_op) { - cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); + cpp_error (pfile, CPP_DL_ERROR, "%s", paste_op_error_msg); return false; } break; @@ -2979,7 +2979,7 @@ create_iso_definition (cpp_reader *pfile function-like macros, but not at the beginning. */ if (macro->count == 1) { - cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); + cpp_error (pfile, CPP_DL_ERROR, "%s", paste_op_error_msg); return false; }