diff options
author | Christian Grothoff <christian@grothoff.org> | 2017-03-10 18:00:53 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2017-03-10 18:00:53 +0100 |
commit | 71d41835b8353d7d080c2de50b0303ed6861ffba (patch) | |
tree | 7e19e66f403429a15ca134f89156a5f1dde21267 /src/testbed | |
parent | ffff350361b66d318d8890328c7efc3757252f82 (diff) | |
download | gnunet-71d41835b8353d7d080c2de50b0303ed6861ffba.tar.gz gnunet-71d41835b8353d7d080c2de50b0303ed6861ffba.zip |
fix out-of-bounds case in parser
Diffstat (limited to 'src/testbed')
-rw-r--r-- | src/testbed/testbed_api_topology.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/testbed/testbed_api_topology.c b/src/testbed/testbed_api_topology.c index a21a7cf53..544f127a9 100644 --- a/src/testbed/testbed_api_topology.c +++ b/src/testbed/testbed_api_topology.c | |||
@@ -1147,9 +1147,11 @@ gen_topo_from_file (struct TopologyContext *tc, | |||
1147 | other_peer_id); | 1147 | other_peer_id); |
1148 | while (('\n' != data[offset]) && ('|' != data[offset]) && (offset < fs)) | 1148 | while (('\n' != data[offset]) && ('|' != data[offset]) && (offset < fs)) |
1149 | offset++; | 1149 | offset++; |
1150 | if ('\n' == data[offset]) | 1150 | if ( (offset < fs) && |
1151 | ('\n' == data[offset]) ) | ||
1151 | state = PEER_INDEX; | 1152 | state = PEER_INDEX; |
1152 | else if ('|' == data[offset]) | 1153 | else if ( (offset < fs) && |
1154 | ('|' == data[offset]) ) | ||
1153 | { | 1155 | { |
1154 | state = OTHER_PEER_INDEX; | 1156 | state = OTHER_PEER_INDEX; |
1155 | offset++; | 1157 | offset++; |