check parameters are valid as we parse
This commit is contained in:
parent
49200b8b96
commit
e8df59be59
@ -207,14 +207,19 @@ ssize_t con_write(struct _reent *r,int fd,const char *ptr, size_t len) {
|
|||||||
|
|
||||||
if ( chr == 0x1b && *tmp == '[' ) {
|
if ( chr == 0x1b && *tmp == '[' ) {
|
||||||
bool escaping = true;
|
bool escaping = true;
|
||||||
char *escapeseq = tmp;
|
char *escapeseq = tmp++;
|
||||||
int escapelen = 0;
|
int escapelen = 1;
|
||||||
|
i++; count++;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
chr = *(tmp++);
|
chr = *(tmp++);
|
||||||
i++; count++; escapelen++;
|
i++; count++; escapelen++;
|
||||||
int parameter, assigned, consumed;
|
int parameter, assigned, consumed;
|
||||||
|
|
||||||
|
// make sure parameters are positive values and delimited by semicolon
|
||||||
|
if((chr >= '0' && chr <= '9') || chr == ';')
|
||||||
|
continue;
|
||||||
|
|
||||||
switch (chr) {
|
switch (chr) {
|
||||||
//---------------------------------------
|
//---------------------------------------
|
||||||
// Cursor directional movement
|
// Cursor directional movement
|
||||||
|
Loading…
Reference in New Issue
Block a user