Selaa lähdekoodia

Fixed filling with zero of allocated memory

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8231 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 vuotta sitten
vanhempi
commit
c20016ee36
1 muutettua tiedostoa jossa 5 lisäystä ja 1 poistoa
  1. 5 1
      source/Unix.Environment.Mod

+ 5 - 1
source/Unix.Environment.Mod

@@ -58,8 +58,12 @@ BEGIN {UNCOOPERATIVE, UNCHECKED}
 END Sleep;
 
 PROCEDURE Allocate- (size: SIZE): ADDRESS;
+VAR result, address: ADDRESS;
 BEGIN {UNCOOPERATIVE, UNCHECKED}
-	RETURN Unix.malloc (size);
+	result := Unix.malloc (size);
+	IF result = NIL THEN RETURN NIL END;
+	FOR address := result TO result + size - 1 DO SYSTEM.PUT8 (address, 0) END;
+	RETURN result;
 END Allocate;
 
 PROCEDURE Deallocate- (address: ADDRESS);