projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix a tiny memory leak.
[tinc]
/
src
/
tincctl.c
diff --git
a/src/tincctl.c
b/src/tincctl.c
index
afaeda3
..
45bf6ee
100644
(file)
--- a/
src/tincctl.c
+++ b/
src/tincctl.c
@@
-1,6
+1,6
@@
/*
tincctl.c -- Controlling a running tincd
/*
tincctl.c -- Controlling a running tincd
- Copyright (C) 2007-201
2
Guus Sliepen <guus@tinc-vpn.org>
+ Copyright (C) 2007-201
3
Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-834,16
+834,10
@@
static int cmd_stop(int argc, char *argv[]) {
}
sendline(fd, "%d %d", CONTROL, REQ_STOP);
}
sendline(fd, "%d %d", CONTROL, REQ_STOP);
- if(!recvline(fd, line, sizeof line) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_STOP || result) {
- fprintf(stderr, "Could not stop tinc daemon.\n");
- return 1;
- }
- // Wait for tincd to close the connection...
- fd_set r;
- FD_ZERO(&r);
- FD_SET(fd, &r);
- select(fd + 1, &r, NULL, NULL, NULL);
+ while(recvline(fd, line, sizeof line)) {
+ // Wait for tincd to close the connection...
+ }
#else
if(!remove_service())
return 1;
#else
if(!remove_service())
return 1;
@@
-1844,6
+1838,8
@@
static int cmd_export(int argc, char *argv[]) {
int result = export(name, stdout);
if(!tty)
fclose(stdout);
int result = export(name, stdout);
if(!tty)
fclose(stdout);
+
+ free(name);
return result;
}
return result;
}