aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2018-11-05 11:53:52 +0200
committerAvi Levkovich <avi@twine-s.com>2018-11-05 11:53:52 +0200
commit0ff5db756936c04637fd347d35eafb8cc4c04346 (patch)
tree012e86810a197230d7e7397e675fb42c5323ae58 /Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
parent6e91def0919eaba1b24e088e389cb3b6d9c2cde8 (diff)
parent2094d5c8b7d3e360b6bd7207d54e845103aca7c4 (diff)
downloadTango-0ff5db756936c04637fd347d35eafb8cc4c04346.tar.gz
Tango-0ff5db756936c04637fd347d35eafb8cc4c04346.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
index 6324c904e..de4f0937a 100644
--- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
+++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
@@ -386,12 +386,14 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer)
#define MAX_NUM_OF_FILES 10
DIR dir;
- FILINFO* fno[MAX_NUM_OF_FILES] = {0,0,0,0,0,0,0,0,0,0};
+ FILINFO* fno[MAX_NUM_OF_FILES];
int NumOfFiles = 0;
FRESULT Fresult = FR_OK;
FileInfo **FilesInfo = (FileInfo**)malloc(sizeof(FileInfo *)*(MAX_NUM_OF_FILES));
FileInfo Data[MAX_NUM_OF_FILES];
+ fno[0] = malloc(sizeof(FILINFO));
+ memset (fno[0],0,sizeof(FILINFO));
Fresult = f_stat(request->path,fno[0]);
if (Fresult == FR_OK)
{
@@ -404,6 +406,8 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer)
{
for (NumOfFiles = 1;NumOfFiles < MAX_NUM_OF_FILES;NumOfFiles++)
{
+ fno[NumOfFiles] = malloc(sizeof(FILINFO));
+ memset (fno[NumOfFiles],0,sizeof(FILINFO));
Fresult = f_readdir(&dir, &fno[NumOfFiles]); /* Read a directory item */
if (Fresult == FR_OK)
{
@@ -445,6 +449,10 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer)
size_t container_size = message_container__pack(&responseContainer, container_buffer);
free(responseContainer.data.data);
SendChars(container_buffer, container_size);
-
+ for (NumOfFiles = 0;NumOfFiles < MAX_NUM_OF_FILES;NumOfFiles++)
+ {
+ if (fno[NumOfFiles])
+ free (fno[NumOfFiles]);
+ }
return OK;
}