Почему-то в мане не сказано про ситуацию, когда read возвращает байтов больше чем запрошено. Сказано только про меньшее количество. Где можно осведомиться? И вообще, насколько это нормально?
int main(void) {
char c;
int r;
while(1) {
r = read(0,&c,1);
}
}
Вот при определенных условиях r равняется трем. И в символ ничего не заносится
Сразу скажу, что это получается в результате внедрения кода (любого) в этот процесс, например
nop
nop
ret
(\x90\x90\xc3)
Код и трассировщик верные, пашут на остальных процессах, где нет read.
Вот и интересно, с какого бодуна эта тройка берется...