[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 95d0b71: Sanitize ical data in gnus-icalendar-event-from-ical
From: |
Lars Ingebrigtsen |
Subject: |
master 95d0b71: Sanitize ical data in gnus-icalendar-event-from-ical |
Date: |
Fri, 16 Oct 2020 04:16:41 -0400 (EDT) |
branch: master
commit 95d0b71683336979b3cc1633c8b3f6a88b4d7bff
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Sanitize ical data in gnus-icalendar-event-from-ical
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
Sanitise the data before passing it on to the constructor. This
avoids backtraces on icals with extra, unknown slots (bug#43057).
---
lisp/gnus/gnus-icalendar.el | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lisp/gnus/gnus-icalendar.el b/lisp/gnus/gnus-icalendar.el
index d7e35c5..bc1bb83 100644
--- a/lisp/gnus/gnus-icalendar.el
+++ b/lisp/gnus/gnus-icalendar.el
@@ -264,7 +264,14 @@
(map-property ical-property))
args)))))
(mapc #'accumulate-args prop-map)
- (apply #'make-instance event-class args))))
+ (apply
+ #'make-instance
+ event-class
+ (cl-loop for slot in (eieio-class-slots event-class)
+ for keyword = (intern
+ (format ":%s" (eieio-slot-descriptor-name slot)))
+ when (plist-get args keyword)
+ append (list keyword (plist-get args keyword)))))))
(defun gnus-icalendar-event-from-buffer (buf &optional attendee-name-or-email)
"Parse RFC5545 iCalendar in buffer BUF and return an event object.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 95d0b71: Sanitize ical data in gnus-icalendar-event-from-ical,
Lars Ingebrigtsen <=