[devel] IA: destination buffer overflow - ppp

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Ноя 28 12:55:31 MSK 2007


On Wed, Nov 28, 2007 at 12:35:52PM +0300, Alexander Bokovoy wrote:
> Еще бы оно работало. Вы же просто повторили ерунду за авторами этого
> плагина. sizeof(ttyname), как и sizeof(name), равносильны sizeof(char *)
> и равны размеру указателя, но никак не размеру строки. Там нужно
> использовать strlen(ttyname).

UINT4 rc_map2id(char *name)
{               
        struct map2id_s *p;
        char ttyname[PATH_MAX];

        *ttyname = '\0';
        if (*name != '/')
                strcpy(ttyname, "/dev/");
        
        strncat(ttyname, name, sizeof(ttyname));
                
        for(p = map2id_list; p; p = p->next)
                if (!strcmp(ttyname, p->name)) return p->id;
                
        warn("rc_map2id: can't find tty %s in map database", ttyname);
                
        return 0;                                                                                                           
}                                                                                                                            

Есть любители кодить на язычке Си всякие прикладные вещи.
И там это ещё называется "качество кода" или как-то так.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20071128/775528f3/attachment-0002.bin>


Подробная информация о списке рассылки Devel