Сравнение с нулём до сих пор валидно, так ведь? Иначе можем заблочиться навек. В остальном поправил, 1 << 24 вроде как разумный лимит на длину.