txlyre 9 ore fa
parent
commit
6d8325b772
1 ha cambiato i file con 9 aggiunte e 2 eliminazioni
  1. 9 2
      qirt.c

+ 9 - 2
qirt.c

@@ -28,6 +28,8 @@ void *qi_malloc_atomic(qi_size_t size)
 
   if (!ptr)
     abort();
+    
+  memset(ptr, 0, size);
 
   return ptr;
 }
@@ -54,10 +56,15 @@ void *qi_calloc(qi_size_t count, qi_size_t size)
 
 char *qi_strdup(const char *s)
 {
-  char *ptr = GC_strdup(s);
-
+  qi_size_t z = strlen(s) + 1;
+  char *ptr = GC_MALLOC_ATOMIC(sizeof(char) * z);
+  
   if (!ptr)
     abort();
+  
+  ptr[z - 1] = 0;
+  
+  strcpy(ptr, s);
 
   return ptr;
 }