Follow-up Comment #3, bug #63315 (project make):

Thank you for the assist Brad; I have found the problem and will fix it in the
next release.

FYI:


diff --git a/src/function.c b/src/function.c
index f0ef3434..893e583d 100644
--- a/src/function.c
+++ b/src/function.c
@@ -2801,7 +2801,7 @@ define_new_function (const floc *flocp, const char
*name,
          _("Invalid maximum argument count (%u) for function %s"), max,
name);

   ent = xmalloc (sizeof (struct function_table_entry));
-  ent->name = name;
+  ent->name = xstrdup (name);
   ent->len = (unsigned char) len;
   ent->minimum_args = (unsigned char) min;
   ent->maximum_args = (unsigned char) max;
@@ -2812,7 +2812,11 @@ define_new_function (const floc *flocp, const char
*name,
   ent->fptr.alloc_func_ptr = func;

   ent = hash_insert (&function_table, ent);
-  free (ent);
+  if (ent)
+    {
+      free ((void*)ent->name);
+      free (ent);
+    }
 }

 void



    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?63315>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/


Reply via email to