emacs-diffs
[Top][All Lists]
Advanced

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

master ed43ad5b565: (bindat--unpack-item): Sanitize vector length


From: Stefan Monnier
Subject: master ed43ad5b565: (bindat--unpack-item): Sanitize vector length
Date: Sun, 10 Mar 2024 23:30:25 -0400 (EDT)

branch: master
commit ed43ad5b5652aed075348357121d9193256721c0
Author: Petteri Hintsanen <petterih@iki.fi>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    (bindat--unpack-item): Sanitize vector length
    
    Copyright-paperwork-exempt: yes
    
    * lisp/emacs-lisp/bindat.el (bindat--unpack-item): Sanitize vector length
---
 lisp/emacs-lisp/bindat.el | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lisp/emacs-lisp/bindat.el b/lisp/emacs-lisp/bindat.el
index 73745e8c7ac..a2161022a89 100644
--- a/lisp/emacs-lisp/bindat.el
+++ b/lisp/emacs-lisp/bindat.el
@@ -204,6 +204,9 @@
    ('str (bindat--unpack-str len))
    ('strz (bindat--unpack-strz len))
    ('vec
+    (when (> len (length bindat-raw))
+      (error "Vector length %d is greater than raw data length %d."
+             len (length bindat-raw)))
     (let ((v (make-vector len 0)) (vlen 1))
       (if (consp vectype)
          (setq vlen (nth 1 vectype)



reply via email to

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