=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/less/cmdbuf.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- src/usr.bin/less/cmdbuf.c 2015/11/09 04:10:57 1.11 +++ src/usr.bin/less/cmdbuf.c 2015/11/09 14:25:32 1.12 @@ -918,14 +918,9 @@ char *word; char c; + free(tk_text); + tk_text = NULL; /* - * Get rid of any previous tk_text. - */ - if (tk_text != NULL) { - free(tk_text); - tk_text = NULL; - } - /* * Find the original (uncompleted) word in the command buffer. */ word = delimit_word(); @@ -939,8 +934,7 @@ /* * Save the original (uncompleted) word */ - if (tk_original != NULL) - free(tk_original); + free(tk_original); tk_original = ecalloc(cp-word+1, sizeof (char)); (void) strncpy(tk_original, word, cp-word); /* @@ -954,12 +948,11 @@ tk_text = fcomplete(word); } else { char *qword = shell_quote(word+1); - if (qword == NULL) { + if (qword == NULL) tk_text = fcomplete(word+1); - } else { + else tk_text = fcomplete(qword); - free(qword); - } + free(qword); } *cp = c; }