This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Buffer overwrite in libstdc++-v3 test 21_strings/c_strings.c



On 24-Sep-2001 Hans-Peter Nilsson wrote:
> Is this some C++ gotcha or is there an obvious buffer-overwrite
> here?  The CRIS gcc port and the simulator dump says the buffer
> is overwritten, but there's no absolute truth in that.
> 
>  ...
>   const char* ccarray1 = "san francisco roof garden inspectors";
>   const char* ccarray2 = "san francisco sunny-day park inspectors";
>   char carray[30];
>   std::strcpy(carray, ccarray1);
>  ...
> 
> Will trade patch for clue.

how do you fit 37 characters (i.e. strlen(ccarray1) + 1 for the null)
into 30 char buffer (size of carray), without overflowing it ?

-G

+---------------------------------------------------------------------+
   You can release software that's good, software that's inexpensive, or
   software that's available on time.  You can usually release software
   that has 2 of these 3 attributes -- but not all 3.
| Greg Hosler                                   hosler@lugs.org.sg    |
+---------------------------------------------------------------------+


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]