[Libreoffice-commits] online.git: loleaflet/src
Dennis Francis (via logerrit)
logerrit at kemper.freedesktop.org
Sun Jul 5 08:03:19 UTC 2020
loleaflet/src/layer/tile/CalcTileLayer.js | 27 +++++++++++++++++++++++----
1 file changed, 23 insertions(+), 4 deletions(-)
New commits:
commit 0d2dfafc89ed603458d8f3711f1130172ed944f9
Author: Dennis Francis <dennis.francis at collabora.com>
AuthorDate: Sat May 16 15:09:51 2020 +0530
Commit: Dennis Francis <dennis.francis at collabora.com>
CommitDate: Sun Jul 5 10:03:00 2020 +0200
Make the newly added interfaces more robust
against wrong argument counts/types.
Change-Id: Ibfed2ba4f3e907ef8a038a3b13b3081cc6248c20
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97950
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Dennis Francis <dennis.francis at collabora.com>
diff --git a/loleaflet/src/layer/tile/CalcTileLayer.js b/loleaflet/src/layer/tile/CalcTileLayer.js
index b7b122ae3..ee8173adf 100644
--- a/loleaflet/src/layer/tile/CalcTileLayer.js
+++ b/loleaflet/src/layer/tile/CalcTileLayer.js
@@ -1193,6 +1193,10 @@ L.SpanList = L.Class.extend({
addCustomDataForEachSpan: function (getCustomDataCallback) {
+ if (typeof getCustomDataCallback != 'function') {
+ return;
+ }
+
var prevIndex = -1;
this._spanlist.forEach(function (span) {
span.data = getCustomDataCallback(
@@ -1203,6 +1207,11 @@ L.SpanList = L.Class.extend({
},
getSpanDataByIndex: function (index) {
+
+ if (typeof index != 'number') {
+ return undefined;
+ }
+
var spanid = this._searchByIndex(index);
if (spanid == -1) {
return undefined;
@@ -1212,6 +1221,11 @@ L.SpanList = L.Class.extend({
},
getSpanDataByCustomDataField: function (value, fieldName) {
+
+ if (typeof value != 'number' || typeof fieldName != 'string' || !fieldName) {
+ return undefined;
+ }
+
var spanid = this._searchByCustomDataField(value, fieldName);
if (spanid == -1) {
return undefined;
@@ -1222,7 +1236,8 @@ L.SpanList = L.Class.extend({
forEachSpanInRange: function (start, end, callback) {
- if (start > end) {
+ if (typeof start != 'number' || typeof end != 'number' ||
+ typeof callback != 'function' || start > end) {
return;
}
@@ -1279,6 +1294,10 @@ L.SpanList = L.Class.extend({
var valueStart = prevSpan ?
prevSpan.data[fieldName] + 1 : 0;
var valueEnd = curSpan.data[fieldName];
+ if (valueStart === undefined || valueEnd === undefined) {
+ // fieldName not present in the 'data' property.
+ return -1;
+ }
return (testValue < valueStart) ? -1 :
(valueEnd < testValue) ? 1 : 0;
});
@@ -1501,7 +1520,7 @@ L.DimensionOutlines = L.Class.extend({
// 'callback' is called with these parameters : (levelIdx, groupIdx, groupStart, groupEnd, groupHidden).
forEachGroupInRange: function (start, end, callback) {
- if (start === undefined || end === undefined || callback === undefined) {
+ if (typeof start != 'number' || typeof end != 'number' || typeof callback != 'function') {
return;
}
@@ -1575,11 +1594,11 @@ L.DimensionOutlines = L.Class.extend({
function binarySearch(array, key, directionProvider) {
- if (array === undefined || !array.length) {
+ if (!Array.isArray(array) || !array.length) {
return -1;
}
- if (directionProvider === undefined) {
+ if (typeof directionProvider != 'function') {
directionProvider = function (key, testvalue) {
return (key === testvalue) ? 0 :
(key < testvalue) ? -1 : 1;
More information about the Libreoffice-commits
mailing list