summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpi.c
diff options
context:
space:
mode:
authormux <mux@FreeBSD.org>2002-04-24 17:49:21 +0000
committermux <mux@FreeBSD.org>2002-04-24 17:49:21 +0000
commitcb31a822f6f1f927a6992127a595e7eb9727a99e (patch)
treeb80f06fe7d0d0e39d623c974706dc73fd78d5a68 /sys/dev/acpica/acpi.c
parent52606e413b71901eed11fca607422a06f6b76602 (diff)
downloadFreeBSD-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.c13
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);
}
OpenPOWER on IntegriCloud