From 56e7f86bc4d803ba998178f6fba581c1ae6c5def Mon Sep 17 00:00:00 2001 From: Laurent Vivier Date: Mon, 28 Jul 2008 09:59:27 +0000 Subject: [PATCH] clear unused part of configuration buffer --- libemile/emile_second_set_configuration.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libemile/emile_second_set_configuration.c b/libemile/emile_second_set_configuration.c index 9218570..f01a145 100644 --- a/libemile/emile_second_set_configuration.c +++ b/libemile/emile_second_set_configuration.c @@ -21,6 +21,7 @@ int emile_second_set_configuration(int fd, int8_t *configuration) int size; int len; off_t offset; + char *buf; if (configuration == NULL) return EEMILE_CANNOT_READ_SECOND; @@ -45,9 +46,14 @@ int emile_second_set_configuration(int fd, int8_t *configuration) if (len > size) return EEMILE_INVALID_SECOND; - ret = write(fd, configuration, len); + buf = malloc(size); + memset(buf, 0, size); + memcpy(buf, configuration, len); + + ret = write(fd, buf, size); if (ret != len) return EEMILE_CANNOT_WRITE_SECOND; + free(buf); return 0; }