diff options
author | mux <mux@FreeBSD.org> | 2002-04-24 17:49:21 +0000 |
---|---|---|
committer | mux <mux@FreeBSD.org> | 2002-04-24 17:49:21 +0000 |
commit | cb31a822f6f1f927a6992127a595e7eb9727a99e (patch) | |
tree | b80f06fe7d0d0e39d623c974706dc73fd78d5a68 /sys/dev/acpica/acpi.c | |
parent | 52606e413b71901eed11fca607422a06f6b76602 (diff) | |
download | FreeBSD-src-cb31a822f6f1f927a6992127a595e7eb9727a99e.zip FreeBSD-src-cb31a822f6f1f927a6992127a595e7eb9727a99e.tar.gz |
Don't call freeenv() on a modified pointer.
Submitted by: Alexander Kabaev <ak03@gte.com>
Reviewed by: phk
Pointy hat to: mux
Diffstat (limited to 'sys/dev/acpica/acpi.c')
-rw-r--r-- | sys/dev/acpica/acpi.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 6c81159..90c7124 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -1590,17 +1590,18 @@ acpi_avoid(ACPI_HANDLE handle) int acpi_disabled(char *subsys) { - char *cp; + char *cp, *env; int len; - if ((cp = getenv("debug.acpi.disable")) == NULL) + if ((env = getenv("debug.acpi.disable")) == NULL) return(0); - if (!strcmp(cp, "all")) { - freeenv(cp); + if (!strcmp(env, "all")) { + freeenv(env); return(1); } /* scan the disable list checking for a match */ + cp = env; for (;;) { while ((*cp != 0) && isspace(*cp)) cp++; @@ -1610,12 +1611,12 @@ acpi_disabled(char *subsys) while ((cp[len] != 0) && !isspace(cp[len])) len++; if (!strncmp(cp, subsys, len)) { - freeenv(cp); + freeenv(env); return(1); } cp += len; } - freeenv(cp); + freeenv(env); return(0); } |