home
·
contact
·
privacy
projects
/
plomrogue
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2b2a1e0
)
To read_file_into_queue(), add queue size test.
author
Christian Heller
<c.heller@plomlompom.de>
Fri, 14 Nov 2014 03:10:25 +0000
(
04:10
+0100)
committer
Christian Heller
<c.heller@plomlompom.de>
Fri, 14 Nov 2014 03:10:25 +0000
(
04:10
+0100)
src/common/readwrite.c
patch
|
blob
|
history
diff --git
a/src/common/readwrite.c
b/src/common/readwrite.c
index 43c83e9923710cd1400ce1fc10eae90ded692df0..77d83d9c551a1ede41030e7e718f0508fece1fc3 100644
(file)
--- a/
src/common/readwrite.c
+++ b/
src/common/readwrite.c
@@
-189,6
+189,7
@@
extern uint8_t read_file_into_queue(FILE * file, char ** queue,
int test = try_fgetc(file, __func__);
if (EOF != test)
{
int test = try_fgetc(file, __func__);
if (EOF != test)
{
+ char * err_size = "Queue growing too large.";
do
{
char c = (char) test;
do
{
char c = (char) test;
@@
-200,6
+201,7
@@
extern uint8_t read_file_into_queue(FILE * file, char ** queue,
memcpy(new_queue, *queue, *queue_size);
char * new_pos = new_queue + *queue_size;
* new_pos = c;
memcpy(new_queue, *queue, *queue_size);
char * new_pos = new_queue + *queue_size;
* new_pos = c;
+ exit_err(*queue_size == UINT32_MAX, err_size);
*queue_size = *queue_size + 1;
free(*queue);
*queue = new_queue;
*queue_size = *queue_size + 1;
free(*queue);
*queue = new_queue;
@@
-210,6
+212,7
@@
extern uint8_t read_file_into_queue(FILE * file, char ** queue,
char * new_queue = try_malloc(*queue_size + 1, __func__);
memcpy(new_queue, *queue, *queue_size);
new_queue[*queue_size] = '\0';
char * new_queue = try_malloc(*queue_size + 1, __func__);
memcpy(new_queue, *queue, *queue_size);
new_queue[*queue_size] = '\0';
+ exit_err(*queue_size == UINT32_MAX, err_size);
*queue_size = *queue_size + 1;
free(*queue);
*queue = new_queue;
*queue_size = *queue_size + 1;
free(*queue);
*queue = new_queue;