From 1cdf4682b0984321d9f05ffe5f31225b36389dc6 Mon Sep 17 00:00:00 2001
From: philsmd <921533+philsmd@users.noreply.github.com>
Date: Wed, 14 Sep 2022 16:19:51 +0200
Subject: [PATCH] rp: prevent crash in case of too little RAM for rules

---
 src/rp.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/rp.c b/src/rp.c
index fe2cb954e..3f360fbe7 100644
--- a/src/rp.c
+++ b/src/rp.c
@@ -893,6 +893,18 @@ int kernel_rules_load (hashcat_ctx_t *hashcat_ctx, kernel_rule_t **out_buf, u32
 
   kernel_rule_t *kernel_rules_buf = (kernel_rule_t *) hccalloc (kernel_rules_cnt, sizeof (kernel_rule_t));
 
+  if (kernel_rules_buf == NULL)
+  {
+    event_log_error (hashcat_ctx, "Not enough allocatable memory (RAM) for this ruleset.");
+
+    hcfree (all_kernel_rules_cnt);
+    hcfree (all_kernel_rules_buf);
+
+    hcfree (repeats);
+
+    return -1;
+  }
+
   for (u32 i = 0; i < kernel_rules_cnt; i++)
   {
     u32 out_pos = 0;