Fixes for coverity warnings.

This commit is contained in:
Bram Moolenaar
2010-07-31 16:44:19 +02:00
parent a26559b553
commit a9d52e3b79
11 changed files with 25 additions and 22 deletions

View File

@ -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 VIM REFERENCE MANUAL by Bram Moolenaar
@ -57,6 +57,7 @@ In each of the edited files these options are set:
'diff' on 'diff' on
'scrollbind' on 'scrollbind' on
'cursorbind' on
'scrollopt' includes "hor" 'scrollopt' includes "hor"
'wrap' off 'wrap' off
'foldmethod' "diff" 'foldmethod' "diff"
@ -133,6 +134,7 @@ the old values are not remembered.
'diff' off 'diff' off
'scrollbind' off 'scrollbind' off
'cursorbind' off
'scrollopt' without "hor" 'scrollopt' without "hor"
'wrap' on 'wrap' on
'foldmethod' "manual" 'foldmethod' "manual"

View File

@ -30,8 +30,6 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs* *known-bugs*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
After ":diffoff" scroll binding doesn't stop completely.
Windows 7: "Open with..." menu starts Vim without a file. Windows 7: "Open with..." menu starts Vim without a file.
Need to use other registry methods in if_ole.cpp? 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 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 Uninspected issues on http://scan.coverity.com/rung2.html
Before release 7.3: Before release 7.3:

View File

@ -1177,6 +1177,9 @@ ex_diffoff(eap)
{ {
/* Set 'diff', 'scrollbind' off and 'wrap' on. */ /* Set 'diff', 'scrollbind' off and 'wrap' on. */
wp->w_p_diff = FALSE; wp->w_p_diff = FALSE;
#ifdef FEAT_CURSORBIND
wp->w_p_crb = FALSE;
#endif
wp->w_p_scb = FALSE; wp->w_p_scb = FALSE;
wp->w_p_wrap = TRUE; wp->w_p_wrap = TRUE;
#ifdef FEAT_FOLDING #ifdef FEAT_FOLDING
@ -2360,7 +2363,7 @@ ex_diffgetput(eap)
} }
/* restore curwin/curbuf and a few other things */ /* 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 /* Syncing undo only works for the current buffer, but we change
* another buffer. Sync undo if the command was typed. This isn't * another buffer. Sync undo if the command was typed. This isn't

View File

@ -3780,7 +3780,7 @@ vim_strsave_fnameescape(fname, shell)
/* '>' and '+' are special at the start of some commands, e.g. ":edit" and /* '>' and '+' are special at the start of some commands, e.g. ":edit" and
* ":write". "cd -" has a special meaning. */ * ":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); escape_fname(&p);
return p; return p;

View File

@ -1943,6 +1943,7 @@ prt_open_resource(resource)
fclose(fd_resource); fclose(fd_resource);
return FALSE; return FALSE;
} }
fclose(fd_resource);
prt_resfile.line_end = -1; prt_resfile.line_end = -1;
prt_resfile.line_start = 0; prt_resfile.line_start = 0;
@ -1956,7 +1957,6 @@ prt_open_resource(resource)
{ {
EMSG2(_("E618: file \"%s\" is not a PostScript resource file"), EMSG2(_("E618: file \"%s\" is not a PostScript resource file"),
resource->filename); resource->filename);
fclose(fd_resource);
return FALSE; return FALSE;
} }
@ -1974,7 +1974,6 @@ prt_open_resource(resource)
{ {
EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"), EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"),
resource->filename); resource->filename);
fclose(fd_resource);
return FALSE; return FALSE;
} }
offset += (int)STRLEN(PRT_RESOURCE_RESOURCE); 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"), EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"),
resource->filename); resource->filename);
fclose(fd_resource);
return FALSE; return FALSE;
} }
@ -2036,12 +2034,9 @@ prt_open_resource(resource)
{ {
EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"), EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"),
resource->filename); resource->filename);
fclose(fd_resource);
return FALSE; return FALSE;
} }
fclose(fd_resource);
return TRUE; return TRUE;
} }

View File

@ -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. * This is needed if the parameter path is fully qualified.
*/ */
search_ctx->ffsc_start_dir = vim_strsave(search_ctx->ffsc_fix_path); search_ctx->ffsc_start_dir = vim_strsave(search_ctx->ffsc_fix_path);
if (search_ctx->ffsc_start_dir) if (search_ctx->ffsc_start_dir == NULL)
search_ctx->ffsc_fix_path[0] = NUL; goto error_return;
search_ctx->ffsc_fix_path[0] = NUL;
} }
/* create an absolute path */ /* create an absolute path */

View File

@ -3682,17 +3682,18 @@ addsigntype(
if (buf->signmaplen == 0) /* first allocation */ if (buf->signmaplen == 0) /* first allocation */
{ {
buf->signmaplen = 5; buf->signmaplen = 5;
buf->signmap = (int *)alloc_clear(buf->signmaplen * sizeof(int *)); buf->signmap = (int *)alloc_clear(buf->signmaplen * sizeof(int));
} }
else /* grow it */ else /* grow it */
{ {
int incr; int incr;
int oldlen = buf->signmaplen; int oldlen = buf->signmaplen;
buf->signmaplen *= 2; buf->signmaplen *= 2;
incr = buf->signmaplen - oldlen; incr = buf->signmaplen - oldlen;
buf->signmap = (int *)vim_realloc(buf->signmap, buf->signmap = (int *)vim_realloc(buf->signmap,
buf->signmaplen*sizeof(int *)); buf->signmaplen * sizeof(int));
vim_memset(buf->signmap + oldlen, 0, incr * sizeof(int *)); vim_memset(buf->signmap + oldlen, 0, incr * sizeof(int));
} }
} }

View File

@ -6358,7 +6358,7 @@ nv_csearch(cap)
nv_brackets(cap) nv_brackets(cap)
cmdarg_T *cap; cmdarg_T *cap;
{ {
pos_T new_pos; pos_T new_pos = INIT_POS_T(0, 0, 0);
pos_T prev_pos; pos_T prev_pos;
pos_T *pos = NULL; /* init for GCC */ pos_T *pos = NULL; /* init for GCC */
pos_T old_pos; /* cursor position before command */ pos_T old_pos; /* cursor position before command */
@ -6436,7 +6436,6 @@ nv_brackets(cap)
{ {
if (cap->nchar == '*') if (cap->nchar == '*')
cap->nchar = '/'; cap->nchar = '/';
new_pos.lnum = 0;
prev_pos.lnum = 0; prev_pos.lnum = 0;
if (cap->nchar == 'm' || cap->nchar == 'M') if (cap->nchar == 'm' || cap->nchar == 'M')
{ {

View File

@ -3212,6 +3212,8 @@ set_init_1()
options[opt_idx].def_val[VI_DEFAULT] = buf; options[opt_idx].def_val[VI_DEFAULT] = buf;
options[opt_idx].flags |= P_DEF_ALLOCED; options[opt_idx].flags |= P_DEF_ALLOCED;
} }
else
vim_free(buf); /* cannot happen */
} }
if (mustfree) if (mustfree)
vim_free(cdpath); vim_free(cdpath);
@ -4262,6 +4264,7 @@ do_set(arg, opt_flags)
* 'foldmethod' becomes "marker" instead of "diff" and that * 'foldmethod' becomes "marker" instead of "diff" and that
* "wrap" gets set. */ * "wrap" gets set. */
if (curwin->w_p_diff if (curwin->w_p_diff
&& opt_idx >= 0 /* shut up coverity warning */
&& (options[opt_idx].indir == PV_FDM && (options[opt_idx].indir == PV_FDM
|| options[opt_idx].indir == PV_WRAP)) || options[opt_idx].indir == PV_WRAP))
goto skip; goto skip;

View File

@ -9439,7 +9439,8 @@ spell_add_word(word, len, bad, idx, undo)
fseek(fd, fpos_next, SEEK_SET); fseek(fd, fpos_next, SEEK_SET);
} }
} }
fclose(fd); if (fd != NULL)
fclose(fd);
} }
} }

View File

@ -3100,6 +3100,9 @@ get_fpos_of_mouse(mpos)
if (mpos->col > 0) if (mpos->col > 0)
--mpos->col; --mpos->col;
#ifdef FEAT_VIRTUALEDIT
mpos->coladd = 0;
#endif
return IN_BUFFER; return IN_BUFFER;
} }