fixed malloc 0; check stack full before push