Private
Public Access
2
0

mraa.c: Added pointer to pointer back to find_uart

Went a bit too far with the previous commit.  Added pointer to pointer
back to mraa_find_uart_bus_pci.

Tested leaks against valgrind and verified dev_path gets set with gdb.

Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
Noel Eck
2018-06-14 21:21:37 -07:00
parent 17342cbbbb
commit a2f01bee5f
2 changed files with 5 additions and 5 deletions

View File

@@ -176,7 +176,7 @@ int mraa_find_i2c_bus_pci(const char* pci_device, const char *pci_id, const char
* @param dev_name as retrieved from pci_dev_path
* @return Result of the operation
*/
mraa_result_t mraa_find_uart_bus_pci(const char* pci_dev_path, char* dev_name);
mraa_result_t mraa_find_uart_bus_pci(const char* pci_dev_path, char** dev_name);
#if defined(IMRAA)
/**

View File

@@ -1142,7 +1142,7 @@ mraa_link_targets(const char* filename, const char* targetname)
}
mraa_result_t
mraa_find_uart_bus_pci(const char* pci_dev_path, char* dev_name)
mraa_find_uart_bus_pci(const char* pci_dev_path, char** dev_name)
{
char path[PATH_MAX];
const int max_allowable_len = 16;
@@ -1158,14 +1158,14 @@ mraa_find_uart_bus_pci(const char* pci_dev_path, char* dev_name)
return MRAA_ERROR_INVALID_RESOURCE;
}
dev_name = (char*) malloc(sizeof(char) * max_allowable_len);
*dev_name = (char*) malloc(sizeof(char) * max_allowable_len);
snprintf(dev_name, max_allowable_len, "/dev/%s", namelist[n - 1]->d_name);
snprintf(*dev_name, max_allowable_len, "/dev/%s", namelist[n - 1]->d_name);
while (n--) {
free(namelist[n]);
}
free(namelist);
syslog(LOG_INFO, "UART device: %s selected for initialization", dev_name);
syslog(LOG_INFO, "UART device: %s selected for initialization", *dev_name);
return MRAA_SUCCESS;
}