ifupdown: close memory leak
function old new delta execute_all 80 91 +11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
7b93e317c1
commit
405095d84b
@ -1177,8 +1177,15 @@ static int doit(char *str)
|
|||||||
|
|
||||||
static int execute_all(struct interface_defn_t *ifd, const char *opt)
|
static int execute_all(struct interface_defn_t *ifd, const char *opt)
|
||||||
{
|
{
|
||||||
|
/* 'opt' is always short, the longest value is "post-down".
|
||||||
|
* Can use on-stack buffer instead of xasprintf'ed one.
|
||||||
|
*/
|
||||||
|
char buf[sizeof("run-parts /etc/network/if-%s.d")
|
||||||
|
+ sizeof("post-down")
|
||||||
|
/*paranoia:*/ + 8
|
||||||
|
];
|
||||||
int i;
|
int i;
|
||||||
char *buf;
|
|
||||||
for (i = 0; i < ifd->n_options; i++) {
|
for (i = 0; i < ifd->n_options; i++) {
|
||||||
if (strcmp(ifd->option[i].name, opt) == 0) {
|
if (strcmp(ifd->option[i].name, opt) == 0) {
|
||||||
if (!doit(ifd->option[i].value)) {
|
if (!doit(ifd->option[i].value)) {
|
||||||
@ -1192,8 +1199,7 @@ static int execute_all(struct interface_defn_t *ifd, const char *opt)
|
|||||||
* complains, and this message _is_ annoyingly visible.
|
* complains, and this message _is_ annoyingly visible.
|
||||||
* Don't "fix" this (unless newer Debian does).
|
* Don't "fix" this (unless newer Debian does).
|
||||||
*/
|
*/
|
||||||
buf = xasprintf("run-parts /etc/network/if-%s.d", opt);
|
sprintf(buf, "run-parts /etc/network/if-%s.d", opt);
|
||||||
/* heh, we don't bother free'ing it */
|
|
||||||
return doit(buf);
|
return doit(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user