# HG changeset patch # User Sam Lantinga # Date 1260979697 0 # Node ID 65f66674b7fb8ce33b360809e97023eb774f8e69 # Parent ecfc42323d0c1fe9a14453e77b2ee5284efaf181 Allocate memory only if we're going to overwrite an environment variable diff -r ecfc42323d0c -r 65f66674b7fb src/stdlib/SDL_getenv.c --- a/src/stdlib/SDL_getenv.c Wed Dec 16 11:03:38 2009 +0000 +++ b/src/stdlib/SDL_getenv.c Wed Dec 16 16:08:17 2009 +0000 @@ -93,6 +93,11 @@ return (-1); } + /* See if it already exists */ + if (!overwrite && SDL_getenv(name)) { + return 0; + } + /* Allocate memory for the variable */ len = SDL_strlen(name) + SDL_strlen(value) + 2; new_variable = (char *) SDL_malloc(len); @@ -117,10 +122,6 @@ } /* If we found it, just replace the entry */ if (SDL_env[i]) { - if (!overwrite) { - SDL_free(new_variable); - return 0; - } SDL_free(SDL_env[i]); SDL_env[i] = new_variable; added = 1;