lynx-dev
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]