]> git.eshelyaron.com Git - emacs.git/commitdiff
; Avoid recent tar-mode.el constant mutation
authorBasil L. Contovounesios <contovob@tcd.ie>
Fri, 28 Jul 2023 16:35:20 +0000 (18:35 +0200)
committerBasil L. Contovounesios <contovob@tcd.ie>
Fri, 28 Jul 2023 16:36:14 +0000 (18:36 +0200)
* lisp/tar-mode.el (tar-attr-vector): Initialize with fresh vector
to avoid constant vector mutation (bug#64686).
(tar-parse-pax-extended-header): Use fillarray.

lisp/tar-mode.el

index e4ea95343e0ee32afbbaa68ccb901a9722f71b6d..2b6329fecc32d7d88d9456b849893b89ce1b21da 100644 (file)
@@ -255,15 +255,14 @@ Only attributes that `tar-mode' can grok are mentioned.")
       (decode-coding-string str coding)
     str))
 
-(defvar tar-attr-vector '[nil nil nil nil nil nil nil nil])
+(defvar tar-attr-vector (make-vector 8 nil))
 (defun tar-parse-pax-extended-header (pos)
   "Parse a pax external header of a Posix-format tar file."
   (let ((end (+ pos 512))
         (result tar-attr-vector)
         (coding 'utf-8-unix)
         attr value record-len value-len)
-    (dotimes (i 8)
-      (aset result i nil))
+    (fillarray result nil)
     (goto-char pos)
     (while (and (< pos end)
                 (re-search-forward pax-extended-attribute-record-regexp