diff options
author | rab <none@none> | 2006-06-19 16:32:04 -0700 |
---|---|---|
committer | rab <none@none> | 2006-06-19 16:32:04 -0700 |
commit | 68dd05bf63748368ef592f58f0e893c23b45fe31 (patch) | |
tree | 1c10990354873008e306d33b2d4061f08e4d9d29 /usr/src/lib/libproc/common/Pexecname.c | |
parent | 7bce2ddc44146624206b5daadc6ba603fe8bf58c (diff) | |
download | illumos-gate-68dd05bf63748368ef592f58f0e893c23b45fe31.tar.gz |
6438596 libproc Pfindexec() search logic faulty
Diffstat (limited to 'usr/src/lib/libproc/common/Pexecname.c')
-rw-r--r-- | usr/src/lib/libproc/common/Pexecname.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/usr/src/lib/libproc/common/Pexecname.c b/usr/src/lib/libproc/common/Pexecname.c index 3c4fee08d1..3abe134e41 100644 --- a/usr/src/lib/libproc/common/Pexecname.c +++ b/usr/src/lib/libproc/common/Pexecname.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -127,8 +126,8 @@ Pfindexec(struct ps_prochandle *P, const char *aout, if (try_exec(cwd, path, buf, isexec, isdata)) goto found; - if (strchr(path, '/') != NULL && basename(path) != NULL && - try_exec(cwd, path, buf, isexec, isdata)) + if (strchr(path, '/') != NULL && (p = basename(path)) != NULL && + try_exec(cwd, p, buf, isexec, isdata)) goto found; } @@ -146,8 +145,8 @@ Pfindexec(struct ps_prochandle *P, const char *aout, if (try_exec(cwd, path, buf, isexec, isdata)) goto found; - if (strchr(path, '/') != NULL && basename(path) != NULL && - try_exec(cwd, path, buf, isexec, isdata)) + if (strchr(path, '/') != NULL && (p = basename(path)) != NULL && + try_exec(cwd, p, buf, isexec, isdata)) goto found; } @@ -162,8 +161,8 @@ Pfindexec(struct ps_prochandle *P, const char *aout, if (try_exec(cwd, path, buf, isexec, isdata)) goto found; - if (strchr(path, '/') != NULL && basename(path) != NULL && - try_exec(cwd, path, buf, isexec, isdata)) + if (strchr(path, '/') != NULL && (p = basename(path)) != NULL && + try_exec(cwd, p, buf, isexec, isdata)) goto found; } |