intel_edison_fab_c.c: Fixed file descriptor leak in case of read error
Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com> Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
committed by
Brendan Le Foll
parent
32d36dfbd0
commit
baa1fcf7be
@@ -1170,7 +1170,7 @@ is_arduino_board()
|
||||
// prepare format string for fscanf, based on MAX_SIZE
|
||||
char format_str[MAX_SIZE];
|
||||
snprintf(format_str, MAX_SIZE, "%%%ds", MAX_SIZE - 1);
|
||||
int i;
|
||||
int i, ret, errno_saved;
|
||||
|
||||
// check tristate first
|
||||
tristate = mraa_gpio_init_raw(214);
|
||||
@@ -1197,14 +1197,16 @@ is_arduino_board()
|
||||
}
|
||||
|
||||
memset(gpiochip_label, 0, MAX_SIZE);
|
||||
if (fscanf(fp, format_str, &gpiochip_label) != 1) {
|
||||
ret = fscanf(fp, format_str, &gpiochip_label);
|
||||
errno_saved = errno;
|
||||
fclose(fp);
|
||||
if (ret != 1) {
|
||||
syslog(LOG_INFO,
|
||||
"edison: could not read from '%s', errno %d",
|
||||
gpiochip_path,
|
||||
errno);
|
||||
errno_saved);
|
||||
return 0;
|
||||
}
|
||||
fclose(fp);
|
||||
|
||||
// we want to check for exact match
|
||||
if (strncmp(gpiochip_label, gpiochip_label_arduino, strlen(gpiochip_label) + 1) != 0) {
|
||||
|
||||
Reference in New Issue
Block a user