[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Lynx-dev] Display of some multi-line links is cut off in the middle
From: |
Thomas Dickey |
Subject: |
Re: [Lynx-dev] Display of some multi-line links is cut off in the middle |
Date: |
Fri, 31 Dec 2021 20:41:11 -0500 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On Fri, Dec 31, 2021 at 08:18:33PM -0500, Mouse wrote:
> >> - strcat(linedata, p);
> >> + for (i = 0; (linedata[i] = p[i]) != '\0'; ++i) ;
>
> > asan2 reported that this line had a strcpy whose source/destination
> > overlapped.
fwiw, that was my checkin comment. asan2 probably had it right.
strcat(linedata, p);
won't work well if p points into the string that starts at linedata.
>
> Then asan2 is wrong; the original line (the - line above) does not have
> any strcpy at all. It has a strcat. (Perhaps the strcat source and
> destination overlap, and asan2 is wrong only in that it reports the
> wrong call in its complaint?) But the replacement code (the + line
> above) implements (loosely put) strcpy, not strcat. Perhaps it would
> work better to replace the strcat with code that actually concatenates,
> preserving the presumably-intended semantics?
probably. But then -- I think that going back to the original strcat
AND seeing how to avoid the case where p/linedata overlap might be better.
(something to do early in the day rather than the evening :-)
>
> Maybe something like (completely untested)
>
> for (i=0,j=strlen(linedata);(linedata[j]=p[i]);i++,j++) ;
>
> /~\ The ASCII Mouse
> \ / Ribbon Campaign
> X Against HTML mouse@rodents-montreal.org
> / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
>
--
Thomas E. Dickey <dickey@invisible-island.net>
https://invisible-island.net
ftp://ftp.invisible-island.net
signature.asc
Description: PGP signature