[devel] IA: destination buffer overflow - ppp

Alexander Bokovoy =?iso-8859-1?q?ab_=CE=C1_altlinux=2Eorg?=
Ср Ноя 28 14:37:07 MSK 2007


Alexey Tourbin пишет:
> 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;                                                                                                           
> }                                                                                                                            
> 
> Есть любители кодить на язычке Си всякие прикладные вещи.
> И там это ещё называется "качество кода" или как-то так.
Это не качество кода, это несоответствие занимаемой должности. :-)

-- 
/ Alexander Bokovoy
Samba Team                      http://www.samba.org/
ALT Linux Team                  http://www.altlinux.org/
Midgard Project Ry              http://www.midgard-project.org/



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