[decode] fix segv when not passing descriptor