From: Lars Ingebrigtsen Date: Fri, 25 Dec 2020 23:57:01 +0000 (+0100) Subject: Fix infloop in memory-report X-Git-Tag: emacs-28.0.90~4558 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=90e40099debaa876273ae560ed8e66985719dd0c;p=emacs.git Fix infloop in memory-report * lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): Fix infloop on circular lists. --- 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)))