aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2014-12-16 15:39:26 -0500
committerJustin M. Keyes <justinkz@gmail.com>2014-12-16 15:39:26 -0500
commit10a45846dc959f8b3ab9436f0809e90d1adf4ee4 (patch)
treeb0d02669f08f94b80abcc0a8d9687ba4c8c80561
parent3a61b84543c7cd843fe60d9ec4b356fb18f6a726 (diff)
parente0b23b3d090f58c772ff0175c38afa1d5e0f1612 (diff)
downloadrneovim-10a45846dc959f8b3ab9436f0809e90d1adf4ee4.tar.gz
rneovim-10a45846dc959f8b3ab9436f0809e90d1adf4ee4.tar.bz2
rneovim-10a45846dc959f8b3ab9436f0809e90d1adf4ee4.zip
Merge pull request #1688 from elmart/coverity-issues-1
coverity issues
-rw-r--r--src/nvim/ex_docmd.c4
-rw-r--r--src/nvim/fileio.c32
-rw-r--r--src/nvim/ops.c6
-rw-r--r--src/nvim/undo.c2
4 files changed, 24 insertions, 20 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 56c8206d2a..65a0017e20 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -8543,7 +8543,9 @@ static void ex_loadview(exarg_T *eap)
fname = get_view_file(*eap->arg);
if (fname != NULL) {
- do_source(fname, FALSE, DOSO_NONE);
+ if (do_source(fname, FALSE, DOSO_NONE) == FAIL) {
+ EMSG2(_(e_notopen), fname);
+ }
free(fname);
}
}
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c
index 9734ac07f9..9c6d7c96bb 100644
--- a/src/nvim/fileio.c
+++ b/src/nvim/fileio.c
@@ -2839,27 +2839,25 @@ buf_write (
* Check if backup file already exists.
*/
if (os_fileinfo((char *)backup, &file_info_new)) {
- /*
- * Check if backup file is same as original file.
- * May happen when modname() gave the same file back (e.g. silly
- * link). If we don't check here, we either ruin the file when
- * copying or erase it after writing.
- */
if (os_fileinfo_id_equal(&file_info_new, &file_info_old)) {
+ /*
+ * Backup file is same as original file.
+ * May happen when modname() gave the same file back (e.g. silly
+ * link). If we don't check here, we either ruin the file when
+ * copying or erase it after writing.
+ */
free(backup);
backup = NULL; /* no backup file to delete */
- }
-
- /*
- * If we are not going to keep the backup file, don't
- * delete an existing one, try to use another name.
- * Change one character, just before the extension.
- */
- if (!p_bk) {
- wp = backup + STRLEN(backup) - 1
- - STRLEN(backup_ext);
- if (wp < backup) /* empty file name ??? */
+ } else if (!p_bk) {
+ /*
+ * We are not going to keep the backup file, so don't
+ * delete an existing one, and try to use another name instead.
+ * Change one character, just before the extension.
+ */
+ wp = backup + STRLEN(backup) - 1 - STRLEN(backup_ext);
+ if (wp < backup) { /* empty file name ??? */
wp = backup;
+ }
*wp = 'z';
while (*wp > 'a'
&& os_fileinfo((char *)backup, &file_info_new)) {
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index a6dee2be5b..931b877a95 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -30,6 +30,7 @@
#include "nvim/fold.h"
#include "nvim/getchar.h"
#include "nvim/indent.h"
+#include "nvim/log.h"
#include "nvim/mark.h"
#include "nvim/mbyte.h"
#include "nvim/memline.h"
@@ -2641,7 +2642,10 @@ do_put (
/* Autocommands may be executed when saving lines for undo, which may make
* y_array invalid. Start undo now to avoid that. */
- u_save(curwin->w_cursor.lnum, curwin->w_cursor.lnum + 1);
+ if (u_save(curwin->w_cursor.lnum, curwin->w_cursor.lnum + 1) == FAIL) {
+ ELOG(_("Failed to save undo information"));
+ return;
+ }
if (insert_string != NULL) {
y_type = MCHAR;
diff --git a/src/nvim/undo.c b/src/nvim/undo.c
index 2ab31b6cfd..9a3da5bcdb 100644
--- a/src/nvim/undo.c
+++ b/src/nvim/undo.c
@@ -230,7 +230,7 @@ int u_save(linenr_T top, linenr_T bot)
if (top > curbuf->b_ml.ml_line_count
|| top >= bot
|| bot > curbuf->b_ml.ml_line_count + 1)
- return FALSE; /* rely on caller to do error messages */
+ return FAIL; /* rely on caller to do error messages */
if (top + 2 == bot)
u_saveline((linenr_T)(top + 1));