Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
matrix-org
Olm
Commits
0a7b6da9
Commit
0a7b6da9
authored
May 10, 2021
by
Denis Kasak
Committed by
Hubert Chathi
May 10, 2021
Browse files
Slightly refactor/comment the harness for clarity.
parent
8d1cfd20
Pipeline
#4500
passed with stages
in 2 minutes and 24 seconds
Changes
1
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
fuzzers/include/fuzzing.hh
View file @
0a7b6da9
...
...
@@ -15,30 +15,43 @@ ssize_t read_file(
uint8_t
**
buffer
)
{
size_t
buffer_size
=
4096
;
uint8_t
*
current_buffer
=
(
uint8_t
*
)
malloc
(
buffer_size
);
if
(
current_buffer
==
NULL
)
return
-
1
;
size_t
buffer_pos
=
0
;
uint8_t
*
current_buffer
=
(
uint8_t
*
)
malloc
(
buffer_size
);
if
(
!
current_buffer
)
return
-
1
;
while
(
1
)
{
ssize_t
count
=
read
(
fd
,
current_buffer
+
buffer_pos
,
buffer_size
-
buffer_pos
);
if
(
count
<
0
)
break
;
if
(
count
<
0
)
break
;
// A read error happened, so just fail immediately.
if
(
count
==
0
)
{
// Nothing more left to read. We downsize the buffer to fit the
// data exactly, unless no data was read at all, in which case we
// skip the downsizing.
if
(
buffer_pos
!=
0
)
{
current_buffer
=
(
uint8_t
*
)
realloc
(
current_buffer
,
buffer_pos
);
if
(
current_buffer
==
NULL
)
break
;
if
(
!
current_buffer
)
break
;
}
// The read was successful so we return the allocated buffer.
*
buffer
=
current_buffer
;
return
buffer_pos
;
}
buffer_pos
+=
count
;
// We've reached capacity, so enlarge the buffer.
if
(
buffer_pos
==
buffer_size
)
{
buffer_size
*=
2
;
uint8_t
*
new_buffer
=
(
uint8_t
*
)
realloc
(
current_buffer
,
buffer_size
);
if
(
new_buffer
==
NULL
)
break
;
if
(
!
new_buffer
)
break
;
current_buffer
=
new_buffer
;
}
}
free
(
current_buffer
);
return
-
1
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment