--- WordNet/lib/search.c +++ WordNet/lib/search.c @@ -1568,7 +1568,8 @@ char *findtheinfo(char *searchstr, int dbase, int ptrtyp, int whichsense) bufstart[0] = '\n'; bufstart++; } - strncpy(bufstart, tmpbuf, strlen(tmpbuf)); + /* Avoid writing a trailing \0 after the string */ + memcpy(bufstart, tmpbuf, strlen(tmpbuf)); bufstart = searchbuffer + strlen(searchbuffer); } }