Index: kaffe/kaffevm/readClassConfig.h =================================================================== RCS file: /home/cvspublic/kaffe/kaffe/kaffevm/readClassConfig.h,v retrieving revision 1.3 diff -u -r1.3 readClassConfig.h --- readClassConfig.h 1998/12/02 22:58:33 1.3 +++ readClassConfig.h 1998/12/18 13:18:46 @@ -74,8 +74,8 @@ #define READMETHOD_START(METHODS_COUNT, THIS_CLASS) \ do { \ - THIS_CLASS->methods = \ - gc_malloc(sizeof(Method)*(METHODS_COUNT), GC_ALLOC_METHOD);\ + THIS_CLASS->methods = (METHODS_COUNT) == 0 ? (Method*)0 \ + : gc_malloc(sizeof(Method)*(METHODS_COUNT), GC_ALLOC_METHOD);\ GC_WRITE(THIS_CLASS, THIS_CLASS->methods); \ THIS_CLASS->nmethods = 0; \ } while (0) Index: kaffe/kaffevm/mem/gc-incremental.c =================================================================== RCS file: /home/cvspublic/kaffe/kaffe/kaffevm/mem/gc-incremental.c,v retrieving revision 1.19 diff -u -r1.19 gc-incremental.c --- gc-incremental.c 1998/12/18 05:40:42 1.19 +++ gc-incremental.c 1998/12/18 13:18:55 @@ -843,6 +843,7 @@ initGc(); } + assert(size != 0); unit = gc_heap_malloc(size + sizeof(gc_unit)); /* keep pointer to object */ Index: config/i386/linux/md.h =================================================================== RCS file: /home/cvspublic/kaffe/config/i386/linux/md.h,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 md.h --- md.h 1998/03/31 19:10:53 1.1.1.1 +++ md.h 1998/12/18 09:20:49 @@ -20,6 +20,7 @@ #endif /* Linux requires a little initialisation */ +extern void init_md(void); #define INIT_MD() init_md() #endif