diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2020-12-26 00:57:01 +0100 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2020-12-26 00:57:01 +0100 |
commit | 90e40099debaa876273ae560ed8e66985719dd0c (patch) | |
tree | 4d31aa62c13c879e60f0ea62686a6bf55e9a8beb /lisp/emacs-lisp | |
parent | d18b1c8c7583b981d4f3d687e49e82250d51634f (diff) | |
download | emacs-90e40099debaa876273ae560ed8e66985719dd0c.tar.gz emacs-90e40099debaa876273ae560ed8e66985719dd0c.tar.bz2 emacs-90e40099debaa876273ae560ed8e66985719dd0c.zip |
Fix infloop in memory-report
* lisp/emacs-lisp/memory-report.el (memory-report--object-size-1):
Fix infloop on circular lists.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/memory-report.el | 4 |
1 files changed, 3 insertions, 1 deletions
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))) |