patch 8.0.1496: clearing a pointer takes two lines
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
diff --git a/src/crypt.c b/src/crypt.c
index 8175906..dfbf02c 100644
--- a/src/crypt.c
+++ b/src/crypt.c
@@ -118,6 +118,9 @@
NULL, NULL,
crypt_blowfish_encode, crypt_blowfish_decode,
},
+
+ /* NOTE: when adding a new method, use some random bytes for the magic key,
+ * to avoid that a text file is recognized as encrypted. */
};
#define CRYPT_MAGIC_LEN 12 /* cannot change */
@@ -349,10 +352,7 @@
state = crypt_create(method_nr, key, salt, salt_len, seed, seed_len);
if (state == NULL)
- {
- vim_free(*header);
- *header = NULL;
- }
+ VIM_CLEAR(*header);
return state;
}