pike.git/
src/
pike_types.cmod
Branch:
Tag:
Non-build tags
All tags
No tags
2021-04-05
2021-04-05 11:33:35 by Henrik Grubbström (Grubba) <grubba@grubba.org>
8b7a8911be47ad41d707630d1c7368311d22d136 (
18
lines) (+
10
/-
8
)
[
Show
|
Annotate
]
Branch:
master
Compiler
[Typechecker]
: Fix NULL-deref in describe_type().
2797:
case T_MANY: { if(t->type == T_MANY &&
-
t->cdr->type == T_OR &&
+
((!
t->cdr
&& !t
->
car) ||
+
(t->cdr && t->cdr->
type == T_OR &&
((t->cdr->car->type == T_MIXED && t->cdr->cdr->type == T_VOID) || (t->cdr->cdr->type == T_MIXED && t->cdr->car->type == T_VOID)) && (!t->car || t->car->type == T_ZERO || (t->car->type == T_OR && ((t->car->car->type == T_ZERO && t->car->cdr->type == T_VOID) ||
-
(t->car->cdr->type == T_ZERO && t->car->car->type == T_VOID)))))
+
(t->car->cdr->type == T_ZERO && t->car->car->type == T_VOID)))))
))
{ /* function == function(zero...:mixed|void) or * function(zero|void...:mixed|void)