patch 8.2.3030: Coverity reports a memory leak

Problem:    Coverity reports a memory leak.
Solution:   Fix the leak and a few typos. (Dominique Pellé, closes #8418)
diff --git a/src/crypt.c b/src/crypt.c
index 35d4e14..f844e42 100644
--- a/src/crypt.c
+++ b/src/crypt.c
@@ -819,19 +819,19 @@
     if (sod_st->count && len <= crypto_secretstream_xchacha20poly1305_ABYTES)
     {
 	emsg(e_libsodium_cannot_decrypt_buffer);
-	return;
+	goto fail;
     }
     if (crypto_secretstream_xchacha20poly1305_pull(&sod_st->state,
 			     buf_out, &buf_len, &tag, from, len, NULL, 0) != 0)
     {
-	emsg(e_libsodium_decription_failed);
+	emsg(e_libsodium_decryption_failed);
 	goto fail;
     }
     sod_st->count++;
 
     if (tag == crypto_secretstream_xchacha20poly1305_TAG_FINAL && !last)
     {
-	emsg(e_libsodium_decyption_failed_premature);
+	emsg(e_libsodium_decryption_failed_premature);
 	goto fail;
     }
     if (p1 == p2)
@@ -931,12 +931,12 @@
     if (crypto_secretstream_xchacha20poly1305_pull(&sod_st->state,
 			    *buf_out, &out_len, &tag, from, len, NULL, 0) != 0)
     {
-	emsg(e_libsodium_decription_failed);
+	emsg(e_libsodium_decryption_failed);
 	return -1;
     }
 
     if (tag == crypto_secretstream_xchacha20poly1305_TAG_FINAL && !last)
-	emsg(e_libsodium_decyption_failed_premature);
+	emsg(e_libsodium_decryption_failed_premature);
     return (long) out_len;
 # else
     return -1;