Mercurial > vim
changeset 2445:04dae202d316 vim73
Fixes for coverity warnings.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sat, 31 Jul 2010 16:44:19 +0200 |
parents | 3fbd9bce03f1 |
children | 348f64c129df |
files | runtime/doc/diff.txt runtime/doc/todo.txt src/diff.c src/ex_getln.c src/hardcopy.c src/misc2.c src/netbeans.c src/normal.c src/option.c src/spell.c src/ui.c |
diffstat | 11 files changed, 25 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- 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 option '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"
--- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -30,8 +30,6 @@ be worked on, but only if you sponsor Vi *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 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:
--- 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
--- 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;
--- 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; }
--- a/src/misc2.c +++ b/src/misc2.c @@ -4533,8 +4533,9 @@ vim_findfile_init(path, filename, stopdi * 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 */
--- 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)); } }
--- 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') {
--- 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;