This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
RE: Buffer overwrite in libstdc++-v3 test 21_strings/c_strings.c
- To: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- Subject: RE: Buffer overwrite in libstdc++-v3 test 21_strings/c_strings.c
- From: Greg Hosler <hosler at lugs dot org dot sg>
- Date: Mon, 24 Sep 2001 22:24:35 +0800 (SGT)
- Cc: libstdc++ at gcc dot gnu dot org, gcc at gcc dot gnu dot org
- Reply-To: Greg Hosler <hosler at lugs dot org dot sg>
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 |
+---------------------------------------------------------------------+