The compiler concludes that if (ts->type == type && ts->line && line can be false as line is NULL and then we unconditionally access it, make it happy by adding an extra NULL check.