emacs-diffs
[Top][All Lists]
Advanced

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

master 90e4009: Fix infloop in memory-report


From: Lars Ingebrigtsen
Subject: master 90e4009: Fix infloop in memory-report
Date: Fri, 25 Dec 2020 18:57:10 -0500 (EST)

branch: master
commit 90e40099debaa876273ae560ed8e66985719dd0c
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Fix infloop in memory-report
    
    * lisp/emacs-lisp/memory-report.el (memory-report--object-size-1):
    Fix infloop on circular lists.
---
 lisp/emacs-lisp/memory-report.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lisp/emacs-lisp/memory-report.el b/lisp/emacs-lisp/memory-report.el
index b532ddc..3327499 100644
--- a/lisp/emacs-lisp/memory-report.el
+++ b/lisp/emacs-lisp/memory-report.el
@@ -204,7 +204,9 @@ by counted more than once."
         (cl-incf total (memory-report--object-size counted (car value))))
       (if (cdr value)
           (if (consp (cdr value))
-              (setq value (cdr value))
+              (if (gethash (cdr value) counted)
+                  (setq value nil)
+                (setq value (cdr value)))
             (cl-incf total (memory-report--object-size counted (cdr value)))
             (setq value nil))
         (setq value nil)))



reply via email to

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