aboutsummaryrefslogtreecommitdiffhomepage
path: root/proc.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2014-07-12 11:01:00 -0700
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2014-07-12 11:01:00 -0700
commit495adee26949378735f2ec18beac49ad2120caa2 (patch)
tree06486385922461a0cd3dd68a64c3d6e8cc65b53d /proc.cpp
parent98297e5234360c3e5e6a70f26b66904a6d94a39f (diff)
Don't sanity_lose if INTERNAL_BLOCK_NODEs have a null argv
Fixes #1545
Diffstat (limited to 'proc.cpp')
-rw-r--r--proc.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/proc.cpp b/proc.cpp
index f62b00f6..a0c7efa6 100644
--- a/proc.cpp
+++ b/proc.cpp
@@ -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)
{