Selaa lähdekoodia

forget to free datas...

Corentin Salingue 12 vuotta sitten
vanhempi
commit
d2c273288b
1 muutettua tiedostoa jossa 16 lisäystä ja 0 poistoa
  1. 16 0
      src/core/disk_ops/disk_stdio.c

+ 16 - 0
src/core/disk_ops/disk_stdio.c

@@ -61,13 +61,19 @@ starpu_stdio_alloc (void *base, size_t size STARPU_ATTRIBUTE_UNUSED)
 	id = mkstemp(baseCpy);
 	/* fail */
 	if (id < 0)
+	{
+		free(obj);
+		free(baseCpy);
 		return NULL;
+	}
 
 	FILE * f = fdopen(id, "rb+");
 	/* fail */
 	if (f == NULL)
 	{
 		/* delete fic */
+		free(obj);
+		free(baseCpy);
 		unlink(baseCpy);
 		return NULL;
 	}
@@ -76,6 +82,8 @@ starpu_stdio_alloc (void *base, size_t size STARPU_ATTRIBUTE_UNUSED)
 	/* fail */
 	if (val < 0)
 	{
+		free(obj);
+		free(baseCpy);
 		unlink(baseCpy);
 		return NULL;
 	}
@@ -123,11 +131,19 @@ starpu_stdio_open (void *base, void *pos, size_t size)
 
 	int id = open(baseCpy, O_RDONLY);
 	if (id < 0)
+	{
+		free(obj);
+		free(baseCpy);
 		return NULL;
+	}
 
 	FILE * f = fdopen(id,"rb+");
 	if (f == NULL)
+	{
+		free(obj);
+		free(baseCpy);
 		return NULL;
+	}
 
 	obj->descriptor = id;
 	obj->file = f;