aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-05-25 10:29:56 +0200
committerJustin M. Keyes <justinkz@gmail.com>2019-05-25 10:29:56 +0200
commitc4f56c4134d806c40fc841ca1af2c0020b447140 (patch)
tree32170e137851a5e8b9d7850cfeade839b65a031c /src
parentae846b41dfed16446be6469cb01f12f1eb1fa534 (diff)
downloadrneovim-c4f56c4134d806c40fc841ca1af2c0020b447140.tar.gz
rneovim-c4f56c4134d806c40fc841ca1af2c0020b447140.tar.bz2
rneovim-c4f56c4134d806c40fc841ca1af2c0020b447140.zip
kvec.h: kv_destroy: reinitialize after free
Diffstat (limited to 'src')
-rw-r--r--src/nvim/lib/kvec.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nvim/lib/kvec.h b/src/nvim/lib/kvec.h
index e668b10bb9..5bd09930a3 100644
--- a/src/nvim/lib/kvec.h
+++ b/src/nvim/lib/kvec.h
@@ -58,7 +58,11 @@
}
#define kv_init(v) ((v).size = (v).capacity = 0, (v).items = 0)
-#define kv_destroy(v) XFREE_CLEAR((v).items)
+#define kv_destroy(v) \
+ do { \
+ xfree((v).items); \
+ kv_init(v); \
+ } while (0)
#define kv_A(v, i) ((v).items[(i)])
#define kv_pop(v) ((v).items[--(v).size])
#define kv_size(v) ((v).size)
@@ -88,7 +92,7 @@
} \
(v1).size = (v0).size; \
memcpy((v1).items, (v0).items, sizeof((v1).items[0]) * (v0).size); \
- } while (0) \
+ } while (0)
#define kv_pushp(v) \
((((v).size == (v).capacity) ? (kv_resize_full(v), 0) : 0), \