Browse Source

tests/main/starpu_init.c: use a dynamically allocated string to give to putenv

  putenv manual page says "The string pointed to by string becomes part of
  the environment, so altering the string changes the environment." It is
  therefore safer to use a dynamic string rather than a static one.
Nathalie Furmento 12 years ago
parent
commit
05fc5e563e
1 changed files with 3 additions and 1 deletions
  1. 3 1
      tests/main/starpu_init.c

+ 3 - 1
tests/main/starpu_init.c

@@ -30,12 +30,13 @@ int main(int argc, char **argv)
 static int check_cpu(int env_cpu, int conf_cpu, int expected_cpu, int *cpu)
 {
 	int ret;
+	char *string;
 
 	FPRINTF(stderr, "Testing with env=%d - conf=%d\n", env_cpu, conf_cpu);
 
 	if (env_cpu != -1)
 	{
-		char string[50];
+		string = malloc(50);
 		sprintf(string, "STARPU_NCPUS=%d", env_cpu);
 		putenv(string);
 	}
@@ -57,6 +58,7 @@ static int check_cpu(int env_cpu, int conf_cpu, int expected_cpu, int *cpu)
 	if (env_cpu != -1)
 	{
 		unsetenv("STARPU_NCPUS");
+		free(string);
 	}
 
 	if (expected_cpu == -1)