diff --git a/physfs.c b/physfs.c index 9f21a3b..a6eaf19 100644 --- a/physfs.c +++ b/physfs.c @@ -662,6 +662,9 @@ static char *calculateBaseDir(const char *argv0) if (retval != NULL) return(retval); + /* we need argv0 to be sane to go on. */ + BAIL_IF_MACRO(argv0 == NULL, ERR_INVALID_ARGUMENT, NULL); + /* * Determine if there's a path on argv0. If there is, that's the base dir. */ @@ -684,6 +687,8 @@ static char *calculateBaseDir(const char *argv0) return(retval); } /* if */ + /* !!! FIXME: should probably just fail here instead of being heroic. */ + /* * Last ditch effort: it's the current working directory. (*shrug*) */