Add cleanup() to do free(locks) + XCloseDisplay()
This commit is contained in:
parent
137f0076c2
commit
1f66885fbf
1 changed files with 10 additions and 6 deletions
16
slock.c
16
slock.c
|
@ -230,6 +230,13 @@ unlockscreen(Display *dpy, Lock *lock)
|
|||
free(lock);
|
||||
}
|
||||
|
||||
static void
|
||||
cleanup(Display *dpy)
|
||||
{
|
||||
free(locks);
|
||||
XCloseDisplay(dpy);
|
||||
}
|
||||
|
||||
static Lock *
|
||||
lockscreen(Display *dpy, int screen)
|
||||
{
|
||||
|
@ -349,8 +356,7 @@ main(int argc, char **argv) {
|
|||
/* did we actually manage to lock anything? */
|
||||
if (nlocks == 0) {
|
||||
/* nothing to protect */
|
||||
free(locks);
|
||||
XCloseDisplay(dpy);
|
||||
cleanup(dpy);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -358,8 +364,7 @@ main(int argc, char **argv) {
|
|||
if (argc > 0) {
|
||||
switch (fork()) {
|
||||
case -1:
|
||||
free(locks);
|
||||
XCloseDisplay(dpy);
|
||||
cleanup(dpy);
|
||||
die("slock: fork failed: %s\n", strerror(errno));
|
||||
case 0:
|
||||
if (close(ConnectionNumber(dpy)) < 0)
|
||||
|
@ -382,8 +387,7 @@ main(int argc, char **argv) {
|
|||
for (s = 0; s < nscreens; s++)
|
||||
unlockscreen(dpy, locks[s]);
|
||||
|
||||
free(locks);
|
||||
XCloseDisplay(dpy);
|
||||
cleanup(dpy);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue