Code:  static x86newTokenType getToken(const char *str, size_t *begin, size_t *end) {
	while (begin && isspace ((ut8)str[*begin])) {
 		++(*begin);
 	}
 
 	if (!str[*begin]) {                // null byte
 		*end = *begin;
 		return TT_EOF;
	} else if (isalpha ((ut8)str[*begin])) {   // word token
 		*end = *begin;
		while (end && isalnum ((ut8)str[*end])) {
 			++(*end);
 		}
 		return TT_WORD;
	} else if (isdigit ((ut8)str[*begin])) {   // number token
 		*end = *begin;
 		while (end && isalnum ((ut8)str[*end])) {     // accept alphanumeric characters, because hex.
 			++(*end);
		}
		return TT_NUMBER;
	} else {                             // special character: [, ], +, *, ...
		*end = *begin + 1;
		return TT_SPECIAL;
	}
}

Vulnerability Type: DoS 
CWE ID: CWE-125
Summary: getToken in libr/asm/p/asm_x86_nz.c in radare2 before 3.1.0 allows attackers to cause a denial of service (stack-based buffer over-read) via crafted x86 assembly data, as demonstrated by rasm2.
Commit Message: Fix #12239 - crash in the x86.nz assembler ##asm (#12252)