val s1: String = �C�*B3ˀr�= = w
val s2: String = №C›*B3ЛЂrќ= = w
val s3: String = ╣CЫ*B3╦АrЭ= = w
val s4: String = ╧C⌡*B3к─r²= = w
val s5: String = 뤓䎛⩂㏋聲鴽‽ॷ
int main()
{
int c;
char *str = malloc(0);
int i = 0;
str[i] = 'x';
free(str);
str = NULL;
return 0;
}
Под valgrind он выводит следующий отчет
==497125== Invalid write of size 1
==497125== at 0x40117B: main (demo.c:13)
==497125== Address 0x4a5d040 is 0 bytes after a block of size 0 alloc'd
==497125== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==497125== by 0x401167: main (demo.c:11)
"неверная последовательно байт для кодировки UTF-8"
Очень сомнительно, что ради маркетинга. Маркетинг продаёт фичи как киллерфичи или хотя бы просто что-то заметное.