comparison src/fileio.c @ 6999:dc1b678f0e4e v7.4.817

patch 7.4.817 Problem: Invalid memory access in file_pat_to_reg_pat(). Solution: Use vim_isspace() instead of checking for a space only. (Dominique Pelle)
author Bram Moolenaar <bram@vim.org>
date Tue, 11 Aug 2015 16:20:05 +0200
parents 4bf9538ff25e
children bb44542231dc
comparison
equal deleted inserted replaced
6998:b2d27f414840 6999:dc1b678f0e4e
10186 size += 4; /* could become "[\/]" */ 10186 size += 4; /* could become "[\/]" */
10187 break; 10187 break;
10188 #endif 10188 #endif
10189 default: 10189 default:
10190 size++; 10190 size++;
10191 # ifdef FEAT_MBYTE 10191 # ifdef FEAT_MBYTE
10192 if (enc_dbcs != 0 && (*mb_ptr2len)(p) > 1) 10192 if (enc_dbcs != 0 && (*mb_ptr2len)(p) > 1)
10193 { 10193 {
10194 ++p; 10194 ++p;
10195 ++size; 10195 ++size;
10196 } 10196 }
10275 #endif 10275 #endif
10276 ) 10276 )
10277 reg_pat[i++] = '?'; 10277 reg_pat[i++] = '?';
10278 else 10278 else
10279 if (*p == ',' || *p == '%' || *p == '#' 10279 if (*p == ',' || *p == '%' || *p == '#'
10280 || *p == ' ' || *p == '{' || *p == '}') 10280 || vim_isspace(*p) || *p == '{' || *p == '}')
10281 reg_pat[i++] = *p; 10281 reg_pat[i++] = *p;
10282 else if (*p == '\\' && p[1] == '\\' && p[2] == '{') 10282 else if (*p == '\\' && p[1] == '\\' && p[2] == '{')
10283 { 10283 {
10284 reg_pat[i++] = '\\'; 10284 reg_pat[i++] = '\\';
10285 reg_pat[i++] = '{'; 10285 reg_pat[i++] = '{';