diff options
| author | Tatsuya Kinoshita <tats@debian.org> | 2016-12-15 13:42:12 +0000 | 
|---|---|---|
| committer | Tatsuya Kinoshita <tats@debian.org> | 2016-12-15 13:42:12 +0000 | 
| commit | 2aa21dc3286c605c3524bd4887614441db116296 (patch) | |
| tree | eedc1735fc5062d92182ccd30605b22d6d4db0dc | |
| parent | Update ChangeLog (diff) | |
| download | w3m-2aa21dc3286c605c3524bd4887614441db116296.tar.gz w3m-2aa21dc3286c605c3524bd4887614441db116296.zip | |
Revert "Prevent overflow beyond the end of string in proc_mchar()"
This reverts commit e79d0ec2a00369a6af24007a1f2bb5e876e2c847.
| -rw-r--r-- | file.c | 11 | 
1 files changed, 5 insertions, 6 deletions
| @@ -2603,20 +2603,19 @@ static void  proc_mchar(struct readbuffer *obuf, int pre_mode,  	   int width, char **str, Lineprop mode)  { -    int len, slen; +    size_t len;      check_breakpoint(obuf, pre_mode, *str);      obuf->pos += width; -    len = get_mclen(*str); -    slen = (int)strlen(*str); -    if (len > slen && slen > 0) -	len = slen; -    Strcat_charp_n(obuf->line, *str, len); +    Strcat_charp_n(obuf->line, *str, get_mclen(*str));      if (width > 0) {  	set_prevchar(obuf->prevchar, *str, 1);  	if (**str != ' ')  	    obuf->prev_ctype = mode;      } +    len = get_mclen(*str); +    if (len > strlen(*str)) +	len = strlen(*str);      (*str) += len;      obuf->flag |= RB_NFLUSHED;  } | 
