Преглед на файлове

* Trully fixed the previous commits. (missing casts and incomplete sizes)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11996 54d463be-8e91-2dee-dedb-b68131a5f0ec
FlavioJS преди 17 години
родител
ревизия
94ad564ec8
променени са 2 файла, в които са добавени 5 реда и са изтрити 4 реда
  1. 1 0
      Changelog-Trunk.txt
  2. 4 4
      src/common/malloc.c

+ 1 - 0
Changelog-Trunk.txt

@@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 2007/12/30
+	* Trully fixed the previous commits. (missing cast and incomplete size)
 	* Made the memory manager set allocated memory to 0xCD and freed memory 
 	  to 0xDD. The memory manager no longer 'hides' uses of freed memory.
 2007/12/29

+ 4 - 4
src/common/malloc.c

@@ -230,7 +230,7 @@ void* _mmalloc(size_t size, const char *file, int line, const char *func )
 			unit_head_large_first = p;
 #ifdef DEBUG_MEMMGR
 			// set allocated data to 0xCD (clean memory)
-			memset(p + sizeof(struct unit_head_large) - sizeof(int), 0xCD, size);
+			memset((char *)p + sizeof(struct unit_head_large) - sizeof(int), 0xCD, size);
 #endif
 			*(int*)((char*)p + sizeof(struct unit_head_large) - sizeof(int) + size) = 0xdeadbeaf;
 			return (char *)p + sizeof(struct unit_head_large) - sizeof(int);
@@ -292,7 +292,7 @@ void* _mmalloc(size_t size, const char *file, int line, const char *func )
 			head->file  = file;
 #ifdef DEBUG_MEMMGR
 			// set allocated memory to 0xCD (clean memory)
-			memset(head + sizeof(struct unit_head) - sizeof(int), 0xCD, size);
+			memset((char *)head + sizeof(struct unit_head) - sizeof(int), 0xCD, size);
 #endif
 			*(int*)((char*)head + sizeof(struct unit_head) - sizeof(int) + size) = 0xdeadbeaf;
 			return (char *)head + sizeof(struct unit_head) - sizeof(int);
@@ -379,7 +379,7 @@ void _mfree(void *ptr, const char *file, int line, const char *func )
 			memmgr_usage_bytes -= head->size;
 #ifdef DEBUG_MEMMGR
 			// set freed memory to 0xDD (dead memory)
-			memset(ptr, 0xDD, size_hash - sizeof(struct unit_head_large) + sizeof(int) );
+			memset(ptr, 0xDD, head->size);
 #endif
 			FREE(head_large,file,line,func);
 		} else {
@@ -398,7 +398,7 @@ void _mfree(void *ptr, const char *file, int line, const char *func )
 			head->block = NULL;
 #ifdef DEBUG_MEMMGR
 			// set freed memory to 0xDD (dead memory)
-			memset(ptr, 0xDD, head->size - sizeof(struct unit_head) + sizeof(int) );
+			memset(ptr, 0xDD, head->size);
 #endif
 			memmgr_usage_bytes -= head->size;
 			if(--block->unit_used == 0) {