emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master a0d646fb9f3: * src/json.c (make_symset_table): Fix over-large all


From: Mattias Engdegård
Subject: master a0d646fb9f3: * src/json.c (make_symset_table): Fix over-large allocation size.
Date: Thu, 4 Apr 2024 08:11:32 -0400 (EDT)

branch: master
commit a0d646fb9f3945d98586b15d157dbb909843f06c
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>

    * src/json.c (make_symset_table): Fix over-large allocation size.
    
    We multiplied when we should have added.  Oops.
---
 src/json.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/json.c b/src/json.c
index 33c3289b394..702350b1b09 100644
--- a/src/json.c
+++ b/src/json.c
@@ -143,7 +143,7 @@ make_symset_table (int bits, struct symset_tbl *up)
   int maxbits = min (SIZE_WIDTH - 2 - (word_size < 8 ? 2 : 3), 32);
   if (bits > maxbits)
     memory_full (PTRDIFF_MAX); /* Will never happen in practice.  */
-  struct symset_tbl *st = xnmalloc (sizeof *st->entries << bits, sizeof *st);
+  struct symset_tbl *st = xmalloc (sizeof *st + (sizeof *st->entries << bits));
   st->up = up;
   ptrdiff_t size = symset_size (bits);
   for (ptrdiff_t i = 0; i < size; i++)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]