"git@developer.sourcefind.cn:modelzoo/resnet50_tensorflow.git" did not exist on "81756675c59751410ae89f88d113b77146c2fc26"
Commit ecba08e2 authored by jbeder's avatar jbeder
Browse files

Fixed infinite loop bug having to do with simple keys when we hit an unexpected EOF.

parent d51888bc
...@@ -33,7 +33,7 @@ namespace YAML ...@@ -33,7 +33,7 @@ namespace YAML
// checking input // checking input
void InsertSimpleKey(); void InsertSimpleKey();
bool VerifySimpleKey(); bool VerifySimpleKey(bool force = false);
void VerifyAllSimpleKeys(); void VerifyAllSimpleKeys();
bool IsWhitespaceToBeEaten(char ch); bool IsWhitespaceToBeEaten(char ch);
......
...@@ -50,7 +50,8 @@ namespace YAML ...@@ -50,7 +50,8 @@ namespace YAML
// VerifySimpleKey // VerifySimpleKey
// . Determines whether the latest simple key to be added is valid, // . Determines whether the latest simple key to be added is valid,
// and if so, makes it valid. // and if so, makes it valid.
bool Scanner::VerifySimpleKey() // . If 'force' is true, then we'll pop no matter what (whether we can verify it or not).
bool Scanner::VerifySimpleKey(bool force)
{ {
m_isLastKeyValid = false; m_isLastKeyValid = false;
if(m_simpleKeys.empty()) if(m_simpleKeys.empty())
...@@ -60,8 +61,11 @@ namespace YAML ...@@ -60,8 +61,11 @@ namespace YAML
SimpleKey key = m_simpleKeys.top(); SimpleKey key = m_simpleKeys.top();
// only validate if we're in the correct flow level // only validate if we're in the correct flow level
if(key.flowLevel != m_flowLevel) if(key.flowLevel != m_flowLevel) {
if(force)
m_simpleKeys.pop();
return false; return false;
}
m_simpleKeys.pop(); m_simpleKeys.pop();
...@@ -94,9 +98,11 @@ namespace YAML ...@@ -94,9 +98,11 @@ namespace YAML
return isValid; return isValid;
} }
// VerifyAllSimplyKeys
// . Pops all simple keys (with checking, but if we can't verify one, then pop it anyways).
void Scanner::VerifyAllSimpleKeys() void Scanner::VerifyAllSimpleKeys()
{ {
while(!m_simpleKeys.empty()) while(!m_simpleKeys.empty())
VerifySimpleKey(); VerifySimpleKey(true);
} }
} }
- it's just bad YAML: [
- one thing \ No newline at end of file
- after another
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment