mirror of
https://review.haiku-os.org/haiku
synced 2025-02-01 03:06:08 +01:00
Fixed CID 1299: the char* name was used in a call to strtoul on line 1220
before being NULL checked on line 1234. I moved the null check to be after name is initialized and removed it from line 1234. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27428 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
9b54ac7464
commit
d1363991a8
@ -1218,31 +1218,32 @@ dump_thread_info(int argc, char **argv)
|
||||
|
||||
for (; argi < argc; argi++) {
|
||||
const char *name = argv[argi];
|
||||
int32 id = strtoul(name, NULL, 0);
|
||||
if (name != NULL) {
|
||||
int32 id = strtoul(name, NULL, 0);
|
||||
|
||||
if (IS_KERNEL_ADDRESS(id)) {
|
||||
// semi-hack
|
||||
_dump_thread_info((struct thread *)id, shortInfo);
|
||||
continue;
|
||||
}
|
||||
|
||||
// walk through the thread list, trying to match name or id
|
||||
bool found = false;
|
||||
struct hash_iterator i;
|
||||
hash_open(sThreadHash, &i);
|
||||
struct thread *thread;
|
||||
while ((thread = (struct thread*)hash_next(sThreadHash, &i)) != NULL) {
|
||||
if ((name != NULL && !strcmp(name, thread->name))
|
||||
|| thread->id == id) {
|
||||
_dump_thread_info(thread, shortInfo);
|
||||
found = true;
|
||||
break;
|
||||
if (IS_KERNEL_ADDRESS(id)) {
|
||||
// semi-hack
|
||||
_dump_thread_info((struct thread *)id, shortInfo);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
hash_close(sThreadHash, &i, false);
|
||||
|
||||
if (!found)
|
||||
kprintf("thread \"%s\" (%ld) doesn't exist!\n", name, id);
|
||||
// walk through the thread list, trying to match name or id
|
||||
bool found = false;
|
||||
struct hash_iterator i;
|
||||
hash_open(sThreadHash, &i);
|
||||
struct thread *thread;
|
||||
while ((thread = (struct thread*)hash_next(sThreadHash, &i)) != NULL) {
|
||||
if (!strcmp(name, thread->name) || thread->id == id) {
|
||||
_dump_thread_info(thread, shortInfo);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
hash_close(sThreadHash, &i, false);
|
||||
|
||||
if (!found)
|
||||
kprintf("thread \"%s\" (%ld) doesn't exist!\n", name, id);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user