aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/diff.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-01-04 02:29:22 +0100
committerJustin M. Keyes <justinkz@gmail.com>2019-01-04 02:29:22 +0100
commit6a432d4a0d48829d45b717c0ee1a1a880ef39847 (patch)
treefa4f0774d032c23364e58af850b301913751c24d /src/nvim/diff.c
parenta1e97b18f1c90fb85683bd09b597511cdf14a34e (diff)
downloadrneovim-6a432d4a0d48829d45b717c0ee1a1a880ef39847.tar.gz
rneovim-6a432d4a0d48829d45b717c0ee1a1a880ef39847.tar.bz2
rneovim-6a432d4a0d48829d45b717c0ee1a1a880ef39847.zip
PVS/V547: diff.c: xmalloc() never returns NULL
Normally we consider OOM to be fatal, but the diff module has extra functionality to handle OOM in case huge files are compared. Use try_malloc instead of xmalloc in that case.
Diffstat (limited to 'src/nvim/diff.c')
-rw-r--r--src/nvim/diff.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/nvim/diff.c b/src/nvim/diff.c
index 0209c8251a..e0cd285667 100644
--- a/src/nvim/diff.c
+++ b/src/nvim/diff.c
@@ -695,7 +695,7 @@ static int diff_write_buffer(buf_T *buf, diffin_T *din)
for (lnum = 1; lnum <= buf->b_ml.ml_line_count; lnum++) {
len += (long)STRLEN(ml_get_buf(buf, lnum, false)) + 1;
}
- ptr = xmalloc(len);
+ ptr = try_malloc(len);
if (ptr == NULL) {
// Allocating memory failed. This can happen, because we try to read
// the whole buffer text into memory. Set the failed flag, the diff
@@ -1088,9 +1088,6 @@ static int diff_file(diffio_T *dio)
const size_t len = (strlen(tmp_orig) + strlen(tmp_new) + strlen(tmp_diff)
+ STRLEN(p_srr) + 27);
char *const cmd = xmalloc(len);
- if (cmd == NULL) {
- return FAIL;
- }
// We don't want $DIFF_OPTIONS to get in the way.
if (os_getenv("DIFF_OPTIONS")) {