From 90e40099debaa876273ae560ed8e66985719dd0c Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Sat, 26 Dec 2020 00:57:01 +0100 Subject: 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(-) (limited to 'lisp/emacs-lisp/memory-report.el') diff --git a/lisp/emacs-lisp/memory-report.el b/lisp/emacs-lisp/memory-report.el index b532ddc56c5..332749987c4 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))) -- cgit v1.2.3