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

Slava Semushin =?iso-8859-1?q?slava=2Esemushin_=CE=C1_gmail=2Ecom?=
Чт Июн 21 16:15:03 MSD 2007


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.


-- 
+ Slava Semushin | slava.semushin @ gmail.com
+ ALT Linux Team | php-coder @ altlinux.ru


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