check at get-stable-pointer-value
authorDmitry Kalyanov <Kalyanov.Dmitry@gmail.com>
Mon, 16 Mar 2009 23:42:39 +0000 (02:42 +0300)
committerDmitry Kalyanov <Kalyanov.Dmitry@gmail.com>
Mon, 16 Mar 2009 23:42:39 +0000 (02:42 +0300)
glib/gobject.foreign.lisp

index ce6d42f..0738cdc 100644 (file)
@@ -39,7 +39,8 @@
   (setf (aref *registered-stable-pointers* (pointer-address stable-pointer)) nil))
 
 (defun get-stable-pointer-value (stable-pointer)
-  (aref *registered-stable-pointers* (pointer-address stable-pointer)))
+  (when (<= 0 (pointer-address stable-pointer) (length *registered-stable-pointers*))
+    (aref *registered-stable-pointers* (pointer-address stable-pointer))))
 
 (defun find-fresh-id ()
   (or (position nil *registered-stable-pointers*)