summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJames Maki <jmaki@multitech.com>2010-05-07 10:19:01 -0500
committerJames Maki <jmaki@multitech.com>2010-05-07 10:19:01 -0500
commitcce54aff649a226b987a13638f8dfcc56179d64a (patch)
tree9e6cd5f3a62e77346ce6b7358f02fb390ea06674 /src
parentb7e06668878af06fc6e74842861e725b982b142f (diff)
downloadsms-utils-cce54aff649a226b987a13638f8dfcc56179d64a.tar.gz
sms-utils-cce54aff649a226b987a13638f8dfcc56179d64a.tar.bz2
sms-utils-cce54aff649a226b987a13638f8dfcc56179d64a.zip
free lock_path
Diffstat (limited to 'src')
-rw-r--r--src/atcmd.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/atcmd.c b/src/atcmd.c
index 6dee9ed..e153d39 100644
--- a/src/atcmd.c
+++ b/src/atcmd.c
@@ -1127,6 +1127,8 @@ int sms_device_close(int fd)
if (lock_path) {
unlink(lock_path);
+ free(lock_path);
+ lock_path = NULL;
}
return ret;
@@ -1134,32 +1136,31 @@ int sms_device_close(int fd)
int sms_device_open(void)
{
- int fd;
+ int fd = -1;
int tmp;
lock_path = device_lock(Global.core.device);
if (!lock_path) {
+ sms_device_close(fd);
return -1;
}
fd = tty_open(Global.core.device, Global.core.baud_rate);
if (fd < 0) {
- unlink(lock_path);
+ sms_device_close(fd);
return -1;
}
tmp = tty_set_read_timeout(fd, Global.core.read_timeout);
if (tmp < 0) {
- close(fd);
- unlink(lock_path);
+ sms_device_close(fd);
return tmp;
}
if (Global.core.sms_init) {
tmp = sms_atcmd_init(fd);
if (tmp < 0) {
- close(fd);
- unlink(lock_path);
+ sms_device_close(fd);
return tmp;
}
}