Merge pull request #2864 from hapifhir/mb-20210804-ioob-pick-to-release

Pick d85a4e5ec2 for release branch
This commit is contained in:
michaelabuckley 2021-08-04 16:41:07 -04:00 committed by GitHub
commit 1df270c9b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 3 deletions

View File

@ -1056,7 +1056,13 @@ public class SearchBuilder implements ISearchBuilder {
for (String nextParamName : comboParamNames) { for (String nextParamName : comboParamNames) {
List<List<IQueryParameterType>> nextValues = theParams.get(nextParamName); List<List<IQueryParameterType>> nextValues = theParams.get(nextParamName);
nextParamName = UrlUtil.escapeUrlParam(nextParamName); // TODO Hack to fix weird IOOB on the next stanza until James comes back and makes sense of this.
if (nextValues.isEmpty()) {
ourLog.error("query parameter {} is unexpectedly empty. Encountered while considering {} index for {}", nextParamName, comboParam.getName(), theRequest.getCompleteUrl());
sb = null;
break;
}
if (nextValues.get(0).size() != 1) { if (nextValues.get(0).size() != 1) {
sb = null; sb = null;
break; break;
@ -1083,14 +1089,15 @@ public class SearchBuilder implements ISearchBuilder {
} }
} }
nextOrValue = UrlUtil.escapeUrlParam(nextOrValue);
if (first) { if (first) {
first = false; first = false;
} else { } else {
sb.append('&'); sb.append('&');
} }
nextParamName = UrlUtil.escapeUrlParam(nextParamName);
nextOrValue = UrlUtil.escapeUrlParam(nextOrValue);
sb.append(nextParamName).append('=').append(nextOrValue); sb.append(nextParamName).append('=').append(nextOrValue);
} }