Merge branch 'terminology-1.7'

This commit is contained in:
Boris Faure 2020-06-16 21:12:37 +02:00
commit 171f99c80c
Signed by: borisfaure
GPG Key ID: 35C0410516166BE8
3 changed files with 29 additions and 6 deletions

View File

@ -3954,7 +3954,7 @@ _handle_esc_osc(Termpty *ty, const Eina_Unicode *c, const Eina_Unicode *ce)
EINA_FALLTHROUGH;
case 0:
// title + icon name
if (!*p)
if (!p || !*p)
goto err;
s = eina_unicode_unicode_to_utf8(p, &len);
eina_stringshare_del(ty->prop.title);
@ -3977,7 +3977,7 @@ _handle_esc_osc(Termpty *ty, const Eina_Unicode *c, const Eina_Unicode *ce)
break;
case 1:
// icon name
if (!*p)
if (!p || !*p)
goto err;
s = eina_unicode_unicode_to_utf8(p, &len);
eina_stringshare_del(ty->prop.icon);
@ -3994,7 +3994,7 @@ _handle_esc_osc(Termpty *ty, const Eina_Unicode *c, const Eina_Unicode *ce)
break;
case 2:
// Title
if (!*p)
if (!p || !*p)
goto err;
s = eina_unicode_unicode_to_utf8(p, &len);
eina_stringshare_del(ty->prop.title);
@ -4010,7 +4010,7 @@ _handle_esc_osc(Termpty *ty, const Eina_Unicode *c, const Eina_Unicode *ce)
if (ty->cb.set_title.func) ty->cb.set_title.func(ty->cb.set_title.data);
break;
case 4:
if (!*p)
if (!p || !*p)
goto err;
// XXX: set palette entry. not supported.
ty->decoding_error = EINA_TRUE;
@ -4020,11 +4020,13 @@ _handle_esc_osc(Termpty *ty, const Eina_Unicode *c, const Eina_Unicode *ce)
break;
case 8:
DBG("hyperlink");
if (!p || !*p)
goto err;
s = eina_unicode_unicode_to_utf8(p, &len);
_handle_hyperlink(ty, s, len);
break;
case 10:
if (!*p)
if (!p || !*p)
goto err;
if (*p == '?')
{
@ -4053,11 +4055,13 @@ _handle_esc_osc(Termpty *ty, const Eina_Unicode *c, const Eina_Unicode *ce)
}
break;
case 11:
if (!p || !*p)
goto err;
_handle_xterm_11_command(ty, p);
break;
case 50:
DBG("xterm font support");
if (!*p)
if (!p || !*p)
goto err;
s = eina_unicode_unicode_to_utf8(p, &len);
if (s)
@ -4098,6 +4102,8 @@ _handle_esc_osc(Termpty *ty, const Eina_Unicode *c, const Eina_Unicode *ce)
break;
case 777:
DBG("xterm notification support");
if (!p || !*p)
goto err;
s = eina_unicode_unicode_to_utf8(p, &len);
if (s)
{

16
tests/crash_empty_osc.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/sh
# char width: 7
# char height: 15
# set color
printf '\033[46;31;3m'
# clear screen
printf '\033[2J'
# move to 0; 0
printf '\033[0;0H'
printf '\033]\007'
printf '\033]\007'

View File

@ -142,3 +142,4 @@ color_link_sharp.sh 08c3284c8c4072264e74b8721b0fd579
color_link_edc.sh a6e4b47eb65c04da568b9662fd80b7e0
color_link_css_rgb.sh c1f5a5b4f3d87b710aed59f72439a645
color_link_css_hsl.sh fc9bda72bd4eea5e9414ef9755ae176a
crash_empty_osc.sh b87272896ce7be9856253b32be1bef14