projects
/
lttv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix leaks and invalid memory accesses
[lttv.git]
/
lttv
/
lttv
/
sync
/
event_processing_text.c
diff --git
a/lttv/lttv/sync/event_processing_text.c
b/lttv/lttv/sync/event_processing_text.c
index 9dd5d30208b8ba9deb4214ce418b2cabe5eae371..8471096a6d07d90af439843196d4321c76cde370 100644
(file)
--- a/
lttv/lttv/sync/event_processing_text.c
+++ b/
lttv/lttv/sync/event_processing_text.c
@@
-16,6
+16,7
@@
* MA 02111-1307, USA.
*/
* MA 02111-1307, USA.
*/
+#define _GNU_SOURCE
#define NANOSECONDS_PER_SECOND 1000000000
#define CPU_FREQ 1e9
#define NANOSECONDS_PER_SECOND 1000000000
#define CPU_FREQ 1e9
@@
-120,6
+121,8
@@
static void destroyProcessingText(SyncState* const syncState)
return;
}
return;
}
+ fclose(processingData->testCase);
+
if (syncState->stats && processingData->factors)
{
g_array_free(processingData->factors, TRUE);
if (syncState->stats && processingData->factors)
{
g_array_free(processingData->factors, TRUE);
@@
-139,7
+142,6
@@
static void destroyProcessingText(SyncState* const syncState)
*/
static void finalizeProcessingText(SyncState* const syncState)
{
*/
static void finalizeProcessingText(SyncState* const syncState)
{
- size_t len;
int retval;
unsigned int* seq;
GArray* factors;
int retval;
unsigned int* seq;
GArray* factors;
@@
-147,11
+149,12
@@
static void finalizeProcessingText(SyncState* const syncState)
syncState->processingData;
FILE* testCase= processingData->testCase;
char* line= NULL;
syncState->processingData;
FILE* testCase= processingData->testCase;
char* line= NULL;
+ size_t bufLen;
seq= calloc(syncState->traceNb, sizeof(unsigned int));
skipCommentLines(testCase);
seq= calloc(syncState->traceNb, sizeof(unsigned int));
skipCommentLines(testCase);
- retval= getline(&line, &
l
en, testCase);
+ retval= getline(&line, &
bufL
en, testCase);
while(!feof(testCase))
{
unsigned int sender, receiver;
while(!feof(testCase))
{
unsigned int sender, receiver;
@@
-164,9
+167,9
@@
static void finalizeProcessingText(SyncState* const syncState)
g_error(strerror(errno));
}
g_error(strerror(errno));
}
- if (line[
len
- 1] == '\n')
+ if (line[
retval
- 1] == '\n')
{
{
- line[
len
- 1]= '\0';
+ line[
retval
- 1]= '\0';
}
retval= sscanf(line, " %u %u %lf %lf %c", &sender, &receiver,
}
retval= sscanf(line, " %u %u %lf %lf %c", &sender, &receiver,
@@
-262,7
+265,7
@@
static void finalizeProcessingText(SyncState* const syncState)
seq[sender]++;
skipCommentLines(testCase);
seq[sender]++;
skipCommentLines(testCase);
- retval= getline(&line, &
l
en, testCase);
+ retval= getline(&line, &
bufL
en, testCase);
}
free(seq);
}
free(seq);
@@
-352,6
+355,11
@@
static unsigned int readTraceNb(FILE* testCase)
abort();
}
abort();
}
+ if (line)
+ {
+ free(line);
+ }
+
return result;
}
return result;
}
This page took
0.023422 seconds
and
4
git commands to generate.