emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 4a5ed6b 2/3: Port dump_bitset_clear to -fsanitize=u


From: Paul Eggert
Subject: [Emacs-diffs] master 4a5ed6b 2/3: Port dump_bitset_clear to -fsanitize=undefined
Date: Mon, 22 Apr 2019 00:16:32 -0400 (EDT)

branch: master
commit 4a5ed6b05a71593cda33af4da44f30eb84b51f30
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Port dump_bitset_clear to -fsanitize=undefined
    
    * src/pdumper.c (dump_bitset_clear):
    Pacify -fsanitize=undefined by avoiding memset (NULL, x, 0),
    which strictly speaking has undefined behavior although it
    works on all production platforms I know.
---
 src/pdumper.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/pdumper.c b/src/pdumper.c
index 3facd52..6ab8276 100644
--- a/src/pdumper.c
+++ b/src/pdumper.c
@@ -4923,7 +4923,8 @@ static void
 dump_bitset_clear (struct dump_bitset *bitset)
 {
   int xword_size = sizeof (bitset->bits[0]);
-  memset (bitset->bits, 0, bitset->number_words * xword_size);
+  if (bitset->number_words)
+    memset (bitset->bits, 0, bitset->number_words * xword_size);
 }
 
 struct pdumper_loaded_dump_private



reply via email to

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