bit: avoid calling strdup(NULL)

It seems the behavior of strdup is undefined when NULL is passed in.
Clang's static analyzer complains about this:

> frameworks/base/tools/bit/command.cpp:195:25: warning: Null pointer
passed to 1st parameter expecting 'nonnull'
[clang-analyzer-core.NonNullParamChecker]

Since we don't seem to care about malloc failures (which is a good thing
IMO), adding a second check for the successful completion of `strdup`
seems pointless.

Bug: 206470603
Test: TreeHugger
Change-Id: Ib621659e6fb600203694974f02d96ba0acb3362f
This commit is contained in:
George Burgess IV 2022-02-22 12:59:53 -08:00
parent 7db2d81ae0
commit d53c27404d

View File

@ -192,10 +192,11 @@ exec_with_path_search(const char* prog, char const* const* argv, char const* con
if (strchr(prog, '/') != NULL) {
return execve(prog, (char*const*)argv, (char*const*)envp);
} else {
char* pathEnv = strdup(getenv("PATH"));
if (pathEnv == NULL) {
const char* pathEnvRaw = getenv("PATH");
if (pathEnvRaw == NULL) {
return 1;
}
char* pathEnv = strdup(pathEnvRaw);
char* dir = pathEnv;
while (dir) {
char* next = strchr(dir, ':');