summaryrefslogtreecommitdiff
path: root/liblight
diff options
context:
space:
mode:
Diffstat (limited to 'liblight')
-rw-r--r--liblight/lights.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/liblight/lights.c b/liblight/lights.c
index 1aa0b588..6fd12904 100644
--- a/liblight/lights.c
+++ b/liblight/lights.c
@@ -83,7 +83,7 @@ write_int(char const* path, int value)
fd = open(path, O_RDWR);
if (fd >= 0) {
char buffer[20];
- int bytes = sprintf(buffer, "%d\n", value);
+ int bytes = snprintf(buffer, sizeof(buffer), "%d\n", value);
ssize_t amt = write(fd, buffer, (size_t)bytes);
close(fd);
return amt == -1 ? -errno : 0;
@@ -271,6 +271,10 @@ static int open_lights(const struct hw_module_t* module, char const* name,
pthread_once(&g_init, init_globals);
struct light_device_t *dev = malloc(sizeof(struct light_device_t));
+
+ if(!dev)
+ return -ENOMEM;
+
memset(dev, 0, sizeof(*dev));
dev->common.tag = HARDWARE_DEVICE_TAG;