summaryrefslogtreecommitdiff
path: root/cleopatre
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre')
-rw-r--r--cleopatre/application/libspid/src/network.c1
-rw-r--r--cleopatre/application/libspid/src/system.c6
2 files changed, 7 insertions, 0 deletions
diff --git a/cleopatre/application/libspid/src/network.c b/cleopatre/application/libspid/src/network.c
index 62aef2145c..e2ac05e53a 100644
--- a/cleopatre/application/libspid/src/network.c
+++ b/cleopatre/application/libspid/src/network.c
@@ -313,6 +313,7 @@ libspid_error_t libspid_network_get_mac (const char *interface, unsigned char *m
strcpy(ifr.ifr_name, interface);
if ( ioctl(s, SIOCGIFHWADDR, &ifr) != 0 )
{
+ close (s);
return LIBSPID_ERROR_SYSTEM;
}
memcpy(ea.ether_addr_octet, ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN);
diff --git a/cleopatre/application/libspid/src/system.c b/cleopatre/application/libspid/src/system.c
index 2020a052c2..b7437742a7 100644
--- a/cleopatre/application/libspid/src/system.c
+++ b/cleopatre/application/libspid/src/system.c
@@ -168,7 +168,10 @@ libspid_error_t libspid_system_get_kernel_version(char *buffer, int buffer_len)
len = strlen(line_buffer);
total += len;
if (total > (unsigned int)buffer_len)
+ {
+ fclose (fp);
return LIBSPID_ERROR_NO_SPACE;
+ }
strcat(buffer, line_buffer);
}
@@ -305,7 +308,10 @@ libspid_error_t libspid_system_get_meminfo(char *buffer, int buffer_len)
len = strlen(line_buffer);
total += len;
if (total > (unsigned int)buffer_len)
+ {
+ fclose (fp);
return LIBSPID_ERROR_NO_SPACE;
+ }
strcat(buffer, line_buffer);
}