Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Jun 2006 17:11:44 +0300
From:      Giorgos Keramidas <keramida@ceid.upatras.gr>
To:        Rico <coolzone@io.dk>
Cc:        freebsd-chat@freebsd.org
Subject:   Re: A joke
Message-ID:  <20060601141144.GC6057@gothmog.pc>
In-Reply-To: <447EA92E.8070500@io.dk>
References:  <447EA92E.8070500@io.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2006-06-01 10:45, Rico <coolzone@io.dk> wrote:
> Seasoned pro
> ------------

I really don't think so!

This seasoned ``pro'' has a buffer overflow in his class :P
Not to mention the other C++ bug in there too...

> #include <stream.h>
>
> const int MAXLEN = 80;
> class outstring;
> class outstring {
>   private:
>     int size;
>     char str[MAXLEN];
> public:
>   outstring() { size=0; }
>   ~outstring() {size=0;}
>   void print();
>   void assign(char *chrs);
> };
>
> void outstring::print() {
>   int i;
>   for (i=0 ; i< size ; i++)
>     cout << str[i];
>   cout << "\n";
> }
>
> void outstring::assign(char *chrs) {
>   int i;
>   for (i=0; chrs[i] != '\0';i++)
>     str[i] = chrs[i];
>   size=i;
> }
>
> main (int argc, char **argv) {
>   outstring string;
>   string.assign("Hello World!");
>   string.print();
> }

outstring.assign("This line is too long for the absurd limit "
  "of `MAXLINE' characters and will probably result in something "
  "weird happening; anything is possible in the land of "
  "undefined behavior, yay!\n");

:)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060601141144.GC6057>