stdlib/Array: fix an issue in fast enumeration

Array did not initialize fast enumeration state if it was empty.
Surprisingly, this did not break code that is generated by Clang
currently.  (But as far as I understand fast enumeration, it may abort
the program because mutation pointer is null.)

Swift SVN r21940
This commit is contained in:
Dmitri Hrybenko
2014-09-15 13:49:56 +00:00
parent ceff82f2ba
commit 50d497c05f
2 changed files with 4 additions and 5 deletions

View File

@@ -101,7 +101,8 @@ final internal class _ContiguousArrayStorage<T> : _NSSwiftArray {
return batchCount
}
else {
enumerationState.state = UInt(min(count, 1))
enumerationState.state = UInt(max(count, 1))
state.memory = enumerationState
return 0
}
}