summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-05-27 21:25:05 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-05-27 21:25:05 +0000
commit0364f67f61bdb322972e59c3483612945bc980bc (patch)
tree7e7f78614bcc980cbb87e02a07c52a1e5c9abf99
parent2bd4f8b66bbb0fb43d4dea624008a716478809be (diff)
downloadbcm5719-llvm-0364f67f61bdb322972e59c3483612945bc980bc.tar.gz
bcm5719-llvm-0364f67f61bdb322972e59c3483612945bc980bc.zip
Don't iterate endlessly if an error occurs.
llvm-svn: 271048
-rw-r--r--llvm/include/llvm/DebugInfo/CodeView/StreamArray.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/include/llvm/DebugInfo/CodeView/StreamArray.h b/llvm/include/llvm/DebugInfo/CodeView/StreamArray.h
index caf70db1fdf..7e4296c5209 100644
--- a/llvm/include/llvm/DebugInfo/CodeView/StreamArray.h
+++ b/llvm/include/llvm/DebugInfo/CodeView/StreamArray.h
@@ -93,12 +93,13 @@ public:
if (!Array || IterRef.getLength() == 0 || ThisLen == 0)
return *this;
IterRef = IterRef.drop_front(ThisLen);
- if (IterRef.getLength() == 0) {
- Array = nullptr;
+ if (IterRef.getLength() == 0)
ThisLen = 0;
- } else {
+ else
+ // TODO: We should report an error if Extract fails.
ThisLen = Extract(IterRef, ThisValue);
- }
+ if (ThisLen == 0)
+ Array = nullptr;
return *this;
}
OpenPOWER on IntegriCloud