HCoop
/
bpt
/
guile.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'origin/stable-2.0'
[bpt/guile.git]
/
libguile
/
foreign.c
diff --git
a/libguile/foreign.c
b/libguile/foreign.c
index
db8e131
..
76e43f3
100644
(file)
--- a/
libguile/foreign.c
+++ b/
libguile/foreign.c
@@
-329,9
+329,15
@@
SCM_DEFINE (scm_dereference_pointer, "dereference-pointer", 1, 0, 0,
"holds a pointer, return this pointer.")
#define FUNC_NAME s_scm_dereference_pointer
{
"holds a pointer, return this pointer.")
#define FUNC_NAME s_scm_dereference_pointer
{
+ void **ptr;
+
SCM_VALIDATE_POINTER (1, pointer);
SCM_VALIDATE_POINTER (1, pointer);
- return scm_from_pointer (* (void **) SCM_POINTER_VALUE (pointer), NULL);
+ ptr = SCM_POINTER_VALUE (pointer);
+ if (SCM_UNLIKELY (ptr == NULL))
+ null_pointer_error (FUNC_NAME);
+
+ return scm_from_pointer (*ptr, NULL);
}
#undef FUNC_NAME
}
#undef FUNC_NAME