On Wed, Oct 09, 2019 at 11:11:54AM +0100, Patrick Welche wrote:
> On Wed, Oct 09, 2019 at 10:52:54AM +0100, Patrick Welche wrote:
> > here seems to be some sort of out by one error (/bin/sh):
> > 
> > cd Ne[tab] -> cd NetBS
> > 
> > That wasn't the case before this morning's update...
> 
> Trivial fix on the way: 
> 
> The stpncpy() and strncpy() functions copy at most len characters
> The strlcpy() function copies up to size - 1 characters

This fixes it, but seems to defeat the point of using strlcpy - rather
leave as strncpy?

Cheers,

Patrick
Index: filecomplete.c
===================================================================
RCS file: /cvsroot/src/lib/libedit/filecomplete.c,v
retrieving revision 1.60
diff -u -r1.60 filecomplete.c
--- filecomplete.c      8 Oct 2019 19:21:40 -0000       1.60
+++ filecomplete.c      9 Oct 2019 10:19:36 -0000
@@ -507,7 +507,7 @@
                el_free(match_list);
                return NULL;
        }
-       (void)strlcpy(retstr, match_list[1], max_equal);
+       (void)strlcpy(retstr, match_list[1], max_equal + 1);
        match_list[0] = retstr;
 
        /* add NULL as last pointer to the array */

Reply via email to