]> gitweb.factorcode.org Git - factor.git/commitdiff
fix f size crash
authorSlava Pestov <slava@factorcode.org>
Wed, 6 Jul 2005 05:13:01 +0000 (05:13 +0000)
committerSlava Pestov <slava@factorcode.org>
Wed, 6 Jul 2005 05:13:01 +0000 (05:13 +0000)
library/test/crashes.factor
native/memory.c

index 894cf0affefc2d349c787e7948853994b6a2e97f..f9fda23a92fdfe72770af272dbb4bfb8f8745b09 100644 (file)
@@ -29,3 +29,5 @@ prettyprint sequences strings test vectors words ;
     full-gc
     full-gc
 ] unit-test
+
+[ ] [ f size ] unit-test
index 245b982f6d46455e69d5883dc4bfd0fddaeb5d33..9d9d353e20bce5bc8f57332be899fd37b086f09f 100644 (file)
@@ -25,7 +25,10 @@ CELL object_size(CELL pointer)
                size = sizeof(F_CONS);
                break;
        case OBJECT_TYPE:
-               size = untagged_object_size(UNTAG(pointer));
+               if(pointer == F)
+                       size = 0;
+               else
+                       size = untagged_object_size(UNTAG(pointer));
                break;
        default:
                critical_error("Cannot determine object_size",pointer);
@@ -40,9 +43,6 @@ CELL untagged_object_size(CELL pointer)
 {
        CELL size;
 
-       if(pointer == F)
-               return 0;
-
        switch(untag_header(get(pointer)))
        {
        case WORD_TYPE: