[devel] [git update] packages/katrin: heads/master

Денис Климов =?iso-8859-1?q?kliden_=CE=C1_km=2Eru?=
Чт Июн 21 22:06:55 MSD 2007


Здравствуйте,
Благодарю за дельные советы.

> [...]
>> +       sprintf(command,"tc qdisc del dev %s root handle 1: htb;\n",iface);

> Многочисленное использование sprintf() и strcpy() в коде наводит на
> мысль, что пользователям вашего билинга может повезти :)

есть альтернатива когда надо подставить в строку параметры?



-- 
C наилучшими пожеланиями,
 Климов Денис
kliden на km.ru

=============================================================
      Thursday, June 21, 2007, 6:15:03 PM, было:
-------------------------------------------------------------

> 2007/6/19, Denis Klimov <zver / altlinux.org>:
> [...]
>> diff --git a/src/tc/katrin-tc.c b/src/tc/katrin-tc.c
> [...]
>> +if (argv[1]!=NULL && (strcmp(argv[1],"remove")==0 || strcmp(argv[1],"reload")==0))
>> +{
>> +       char *iface = strdup("eth0");
>> +       char *allrate = strdup("100mbit");

> strdup() выделяет новую память с помощью malloc(). Это значит, что её
> можно (и нужно) освободить во избежание утечек.

> [...]
>> +       //open tmp script file
>> +       char prog[] = "/tmp/katrin-tc-tmp";
>> +       char path[] = "/tmp";
> [...]

> Эти строчки несколько коробят глаз. Я не знаю всех тонкостей вашей
> задачи, но кажется, что использование mkstemp(3) тут было бы к месту.

> [...]
>> +       sprintf(command,"tc qdisc del dev %s root handle 1: htb;\n",iface);

> Многочисленное использование sprintf() и strcpy() в коде наводит на
> мысль, что пользователям вашего билинга может повезти :)

> [...]
>> +       fclose(fh);

> Вот здесь (если не ошибаюсь) можно и память освободить:

> +    free(iface);
> +    free(allrate);

> [...]

> JFYI.







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