[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [aspell-devel] The String class for 0.60 does not null terminate str
From: |
Gary Setter |
Subject: |
Re: [aspell-devel] The String class for 0.60 does not null terminate strings. |
Date: |
Mon, 27 Sep 2004 08:31:34 -0500 |
----- Original Message -----
From: "Kevin Atkinson" <address@hidden>
To: "Gary Setter" <address@hidden>
Cc: <address@hidden>
Sent: Sunday, September 26, 2004 9:52 PM
Subject: Re: [aspell-devel] The String class for 0.60 does not
null terminate strings.
> On Sun, 26 Sep 2004, Gary Setter wrote:
>
> > I'm doing a Win32 port. I just got it to compile and I'm
seeing
> > how things work. Right away I see that the String class does
not
> > null terminate.
>
> Can you be more specific. The String class does not always
null terminate
> but it does when needed.
The version that I downloaded has a write date of 24-Jun-04
11:07pm
The c'tor from a const char * is
String(const char * s) {assign_only(s);}
assign only is
void assign_only(const char * b)
{
if (b && *b) assign_only_nonnull(b, strlen(b));
else zero();
}
assign_only_nonnull is
void assign_only_nonnull(const char * b, unsigned size)
{
begin_ = (char *)malloc(size + 1);
memmove(begin_, b, size);
end_ = begin_ + size;
storage_end_ = end_ + 1;
}
If you do something like String s("a");
You will call assign_only_nonnull with b= "a\0" and size = 1. The
memmove will only copy one character ( the 'a' ) to begin_[0],
begin_[1] is not initialized.
That is just one example.
Do you want to see my rendition?
- [aspell-devel] The String class for 0.60 does not null terminate strings., Gary Setter, 2004/09/26
- Re: [aspell-devel] The String class for 0.60 does not null terminate strings., Kevin Atkinson, 2004/09/26
- Re: [aspell-devel] The String class for 0.60 does not null terminate strings.,
Gary Setter <=
- Re: [aspell-devel] The String class for 0.60 does not null terminate strings., Kevin Atkinson, 2004/09/27
- Re: [aspell-devel] The String class for 0.60 does not null terminate strings., Gary Setter, 2004/09/27
- Re: [aspell-devel] The String class for 0.60 does not null terminate strings., Kevin Atkinson, 2004/09/27
- Re: [aspell-devel] The String class for 0.60 does not null terminatestrings., Gary Setter, 2004/09/27
- Re: [aspell-devel] The String class for 0.60 does not null terminatestrings., Kevin Atkinson, 2004/09/27
- Re: [aspell-devel] The String class for 0.60 does not nullterminatestrings., Lumina, 2004/09/27
- Re: [aspell-devel] The String class for 0.60 does not nullterminatestrings., Kevin Atkinson, 2004/09/27