diff options
author | ridiculousfish <corydoras@ridiculousfish.com> | 2014-07-12 11:01:00 -0700 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2014-07-12 11:01:00 -0700 |
commit | 495adee26949378735f2ec18beac49ad2120caa2 (patch) | |
tree | 06486385922461a0cd3dd68a64c3d6e8cc65b53d /proc.cpp | |
parent | 98297e5234360c3e5e6a70f26b66904a6d94a39f (diff) |
Don't sanity_lose if INTERNAL_BLOCK_NODEs have a null argv
Fixes #1545
Diffstat (limited to 'proc.cpp')
-rw-r--r-- | proc.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1298,9 +1298,11 @@ void proc_sanity_check() p = j->first_process; while (p) { - validate_pointer(p->get_argv(), _(L"Process argument list"), 0); - validate_pointer(p->argv0(), _(L"Process name"), 0); - validate_pointer(p->next, _(L"Process list pointer"), 1); + /* Internal block nodes do not have argv - see #1545 */ + bool null_ok = (p->type == INTERNAL_BLOCK_NODE); + validate_pointer(p->get_argv(), _(L"Process argument list"), null_ok); + validate_pointer(p->argv0(), _(L"Process name"), null_ok); + validate_pointer(p->next, _(L"Process list pointer"), true); if ((p->stopped & (~0x00000001)) != 0) { |