From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 22 Jun 2007 00:06:55 +0600 From: =?koi8-r?B?5MXOydMg68zJzc/X?= X-Mailer: The Bat! (v2.01) Organization: KDENET X-Priority: 3 (Normal) Message-ID: <1892409264.20070622000655@km.ru> To: ALT Devel discussion list In-Reply-To: <75e139a00706210515r6d67ea61t5c0b3a97ed481369@mail.gmail.com> References: <20070619095932.3BA9E19FC00A@ssh.git.local.altlinux.org> <75e139a00706210515r6d67ea61t5c0b3a97ed481369@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit X-Spam-Flag: SKIP X-Spam-Yversion: Spamooborona 1.6.0 Subject: Re: [devel] [git update] packages/katrin: heads/master X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jun 2007 18:10:28 -0000 Archived-At: List-Archive: List-Post: Здравствуйте, Благодарю за дельные советы. > [...] >> + 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 : > [...] >> 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.