applying:
authorPaul Fox <pgf@brightstareng.com>
Tue, 19 Jul 2005 20:41:06 +0000 (20:41 -0000)
committerPaul Fox <pgf@brightstareng.com>
Tue, 19 Jul 2005 20:41:06 +0000 (20:41 -0000)
0000054: Tab completing filenames in ash causes SEGV
Simple tab completion operations cause busybox (ash) to
access illegal addresses.

shell/cmdedit.c

index 56b789ab6c93adc15cf6948e830738353cc91863..3380dffe9404c0dccff8019da71c3a19b6427629 100644 (file)
@@ -782,8 +782,8 @@ static int match_compare(const void *a, const void *b)
 #define QUOT    (UCHAR_MAX+1)
 
 #define collapse_pos(is, in) { \
-       memcpy(int_buf+(is), int_buf+(in), (BUFSIZ+1-(is)-(in))*sizeof(int)); \
-       memcpy(pos_buf+(is), pos_buf+(in), (BUFSIZ+1-(is)-(in))*sizeof(int)); }
+       memmove(int_buf+(is), int_buf+(in), (BUFSIZ+1-(is)-(in))*sizeof(int)); \
+       memmove(pos_buf+(is), pos_buf+(in), (BUFSIZ+1-(is)-(in))*sizeof(int)); }
 
 static int find_match(char *matchBuf, int *len_with_quotes)
 {