bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/3871] New: Score assembler passes stack meory around


From: hjl at lucon dot org
Subject: [Bug gas/3871] New: Score assembler passes stack meory around
Date: 15 Jan 2007 18:43:39 -0000

tc-score.c has

      if (value == (int) FAIL)
        {
          char err_msg[100];

          if ((data_type != _SIMM14_NEG) && (data_type != _SIMM16_NEG) &&
(data_type != _IMM16_NEG))
            {    
              sprintf (err_msg,
                       "invalid constant: %d bit expression not in range 
%d..%d",
                       score_df_range[data_type].bits,
                       score_df_range[data_type].range[0],
score_df_range[data_type].range[1]);
            }
          else 
            {    
              sprintf (err_msg,
                       "invalid constant: %d bit expression not in range 
%d..%d",
                       score_df_range[data_type].bits,
                       -score_df_range[data_type].range[1],
-score_df_range[data_type].range[0]);
            }

          inst.error = _(err_msg);
          return (int) FAIL;
        }

There are 2 problems:

1. inst.error is pointed to a stack memory and used later to report an
error. It is a very bad idea.
2. _() is used on a variable. Shouldn't it be used on a string constant?

-- 
           Summary: Score assembler passes stack meory around
           Product: binutils
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gas
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: hjl at lucon dot org
                CC: bug-binutils at gnu dot org
GCC target triplet: score-unknown-elf


http://sourceware.org/bugzilla/show_bug.cgi?id=3871

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]