diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-07-31 16:44:19 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-07-31 16:44:19 +0200 |
commit | a9d52e3b7925ef119b5d0d9fca14faac634effb0 (patch) | |
tree | 151c52ad2e282b8e264aee2fc7af3db76d8c2071 | |
parent | a26559b553079c3959ee142a010b2e000c180323 (diff) | |
download | vim-git-a9d52e3b7925ef119b5d0d9fca14faac634effb0.tar.gz |
Fixes for coverity warnings.
-rw-r--r-- | runtime/doc/diff.txt | 4 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 5 | ||||
-rw-r--r-- | src/diff.c | 5 | ||||
-rw-r--r-- | src/ex_getln.c | 2 | ||||
-rw-r--r-- | src/hardcopy.c | 7 | ||||
-rw-r--r-- | src/misc2.c | 5 | ||||
-rw-r--r-- | src/netbeans.c | 7 | ||||
-rw-r--r-- | src/normal.c | 3 | ||||
-rw-r--r-- | src/option.c | 3 | ||||
-rw-r--r-- | src/spell.c | 3 | ||||
-rw-r--r-- | src/ui.c | 3 |
11 files changed, 25 insertions, 22 deletions
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt index 1b5c2a139..c94bf69a3 100644 --- a/runtime/doc/diff.txt +++ b/runtime/doc/diff.txt @@ -1,4 +1,4 @@ -*diff.txt* For Vim version 7.3c. Last change: 2009 Sep 15 +*diff.txt* For Vim version 7.3c. Last change: 2010 Jul 31 VIM REFERENCE MANUAL by Bram Moolenaar @@ -57,6 +57,7 @@ In each of the edited files these options are set: 'diff' on 'scrollbind' on + 'cursorbind' on 'scrollopt' includes "hor" 'wrap' off 'foldmethod' "diff" @@ -133,6 +134,7 @@ the old values are not remembered. 'diff' off 'scrollbind' off + 'cursorbind' off 'scrollopt' without "hor" 'wrap' on 'foldmethod' "manual" diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index d50f65add..e887fd35f 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -30,8 +30,6 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- -After ":diffoff" scroll binding doesn't stop completely. - Windows 7: "Open with..." menu starts Vim without a file. Need to use other registry methods in if_ole.cpp? @@ -39,9 +37,6 @@ Windows 7: installing Vim again doesn't find the previously installed Vim. Move more common code from if_python.c and if_python3.c to if_py_both.h -Add filetype completion to user commands. (Christian Brabandt, 2010 Jul 26) -But call it "filetype" instead of "syntax"? - Uninspected issues on http://scan.coverity.com/rung2.html Before release 7.3: diff --git a/src/diff.c b/src/diff.c index e733ccd45..9b6d2791f 100644 --- a/src/diff.c +++ b/src/diff.c @@ -1177,6 +1177,9 @@ ex_diffoff(eap) { /* Set 'diff', 'scrollbind' off and 'wrap' on. */ wp->w_p_diff = FALSE; +#ifdef FEAT_CURSORBIND + wp->w_p_crb = FALSE; +#endif wp->w_p_scb = FALSE; wp->w_p_wrap = TRUE; #ifdef FEAT_FOLDING @@ -2360,7 +2363,7 @@ ex_diffgetput(eap) } /* restore curwin/curbuf and a few other things */ - if (idx_other == idx_to) + if (eap->cmdidx != CMD_diffget) { /* Syncing undo only works for the current buffer, but we change * another buffer. Sync undo if the command was typed. This isn't diff --git a/src/ex_getln.c b/src/ex_getln.c index b292f6391..790d5315a 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -3780,7 +3780,7 @@ vim_strsave_fnameescape(fname, shell) /* '>' and '+' are special at the start of some commands, e.g. ":edit" and * ":write". "cd -" has a special meaning. */ - if (*p == '>' || *p == '+' || (*p == '-' && p[1] == NUL)) + if (p != NULL && (*p == '>' || *p == '+' || (*p == '-' && p[1] == NUL))) escape_fname(&p); return p; diff --git a/src/hardcopy.c b/src/hardcopy.c index 744a2a2f1..0747dc9d3 100644 --- a/src/hardcopy.c +++ b/src/hardcopy.c @@ -1943,6 +1943,7 @@ prt_open_resource(resource) fclose(fd_resource); return FALSE; } + fclose(fd_resource); prt_resfile.line_end = -1; prt_resfile.line_start = 0; @@ -1956,7 +1957,6 @@ prt_open_resource(resource) { EMSG2(_("E618: file \"%s\" is not a PostScript resource file"), resource->filename); - fclose(fd_resource); return FALSE; } @@ -1974,7 +1974,6 @@ prt_open_resource(resource) { EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"), resource->filename); - fclose(fd_resource); return FALSE; } offset += (int)STRLEN(PRT_RESOURCE_RESOURCE); @@ -1993,7 +1992,6 @@ prt_open_resource(resource) { EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"), resource->filename); - fclose(fd_resource); return FALSE; } @@ -2036,12 +2034,9 @@ prt_open_resource(resource) { EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"), resource->filename); - fclose(fd_resource); return FALSE; } - fclose(fd_resource); - return TRUE; } diff --git a/src/misc2.c b/src/misc2.c index 6b9ffe151..96813a484 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -4533,8 +4533,9 @@ vim_findfile_init(path, filename, stopdirs, level, free_visited, find_what, * This is needed if the parameter path is fully qualified. */ search_ctx->ffsc_start_dir = vim_strsave(search_ctx->ffsc_fix_path); - if (search_ctx->ffsc_start_dir) - search_ctx->ffsc_fix_path[0] = NUL; + if (search_ctx->ffsc_start_dir == NULL) + goto error_return; + search_ctx->ffsc_fix_path[0] = NUL; } /* create an absolute path */ diff --git a/src/netbeans.c b/src/netbeans.c index 00c7ce20b..68914eb12 100644 --- a/src/netbeans.c +++ b/src/netbeans.c @@ -3682,17 +3682,18 @@ addsigntype( if (buf->signmaplen == 0) /* first allocation */ { buf->signmaplen = 5; - buf->signmap = (int *)alloc_clear(buf->signmaplen * sizeof(int *)); + buf->signmap = (int *)alloc_clear(buf->signmaplen * sizeof(int)); } else /* grow it */ { int incr; int oldlen = buf->signmaplen; + buf->signmaplen *= 2; incr = buf->signmaplen - oldlen; buf->signmap = (int *)vim_realloc(buf->signmap, - buf->signmaplen*sizeof(int *)); - vim_memset(buf->signmap + oldlen, 0, incr * sizeof(int *)); + buf->signmaplen * sizeof(int)); + vim_memset(buf->signmap + oldlen, 0, incr * sizeof(int)); } } diff --git a/src/normal.c b/src/normal.c index e17aec315..b76e40d1d 100644 --- a/src/normal.c +++ b/src/normal.c @@ -6358,7 +6358,7 @@ nv_csearch(cap) nv_brackets(cap) cmdarg_T *cap; { - pos_T new_pos; + pos_T new_pos = INIT_POS_T(0, 0, 0); pos_T prev_pos; pos_T *pos = NULL; /* init for GCC */ pos_T old_pos; /* cursor position before command */ @@ -6436,7 +6436,6 @@ nv_brackets(cap) { if (cap->nchar == '*') cap->nchar = '/'; - new_pos.lnum = 0; prev_pos.lnum = 0; if (cap->nchar == 'm' || cap->nchar == 'M') { diff --git a/src/option.c b/src/option.c index 2c5e88bfb..06e569ca4 100644 --- a/src/option.c +++ b/src/option.c @@ -3212,6 +3212,8 @@ set_init_1() options[opt_idx].def_val[VI_DEFAULT] = buf; options[opt_idx].flags |= P_DEF_ALLOCED; } + else + vim_free(buf); /* cannot happen */ } if (mustfree) vim_free(cdpath); @@ -4262,6 +4264,7 @@ do_set(arg, opt_flags) * 'foldmethod' becomes "marker" instead of "diff" and that * "wrap" gets set. */ if (curwin->w_p_diff + && opt_idx >= 0 /* shut up coverity warning */ && (options[opt_idx].indir == PV_FDM || options[opt_idx].indir == PV_WRAP)) goto skip; diff --git a/src/spell.c b/src/spell.c index 6d4d47ea2..30510ad27 100644 --- a/src/spell.c +++ b/src/spell.c @@ -9439,7 +9439,8 @@ spell_add_word(word, len, bad, idx, undo) fseek(fd, fpos_next, SEEK_SET); } } - fclose(fd); + if (fd != NULL) + fclose(fd); } } @@ -3100,6 +3100,9 @@ get_fpos_of_mouse(mpos) if (mpos->col > 0) --mpos->col; +#ifdef FEAT_VIRTUALEDIT + mpos->coladd = 0; +#endif return IN_BUFFER; } |