[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