gpgscm: Fix Scheme initialization.
authorJustus Winter <justus@g10code.com>
Thu, 23 Jun 2016 12:10:00 +0000 (14:10 +0200)
committerJustus Winter <justus@g10code.com>
Thu, 23 Jun 2016 12:18:20 +0000 (14:18 +0200)
This potentially causes a crash if the garbage collector marks an eof
object.

* tests/gpgscm/scheme.c (scheme_init_custom_alloc): Initialize
'EOF_OBJ'.

Signed-off-by: Justus Winter <justus@g10code.com>
tests/gpgscm/scheme.c

index 3c7910c..3ed5d9b 100644 (file)
@@ -4778,6 +4778,9 @@ int scheme_init_custom_alloc(scheme *sc, func_alloc malloc, func_dealloc free) {
   /* init F */
   typeflag(sc->F) = (T_ATOM | MARK);
   car(sc->F) = cdr(sc->F) = sc->F;
+  /* init EOF_OBJ */
+  typeflag(sc->EOF_OBJ) = (T_ATOM | MARK);
+  car(sc->EOF_OBJ) = cdr(sc->EOF_OBJ) = sc->EOF_OBJ;
   /* init sink */
   typeflag(sc->sink) = (T_PAIR | MARK);
   car(sc->sink) = sc->NIL;