Mercurial > vim
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++] = '{'; |