Merge "USB HAL: Fix infinite loop."

This commit is contained in:
TreeHugger Robot 2017-02-24 20:24:24 +00:00 committed by Android (Google) Code Review
commit 15558bf93b

View file

@ -176,17 +176,22 @@ rescan:
ports++;
}
}
if (ports == 0) {
closedir(dp);
return Status::SUCCESS;
}
names.resize(ports);
rewinddir(dp);
while ((ep = readdir (dp))) {
/* Check to see if new ports were added since the first pass. */
if (current >= ports) {
rewinddir(dp);
goto rescan;
}
if (ep->d_type == DT_LNK) {
/* Check to see if new ports were added since the first pass. */
if (current >= ports) {
rewinddir(dp);
goto rescan;
}
names[current++] = ep->d_name;
}
}
@ -238,7 +243,7 @@ Status getPortStatusHelper (hidl_vec<PortStatus>& currentPortStatus) {
if (result == Status::SUCCESS) {
currentPortStatus.resize(names.size());
for(std::vector<std::string>::size_type i = 0; i != names.size(); i++) {
for(std::vector<std::string>::size_type i = 0; i < names.size(); i++) {
ALOGI("%s", names[i].c_str());
currentPortStatus[i].portName = names[i];