aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjmarshallnz <jmarshallnz@svn>2010-08-29 06:20:34 +0000
committerjmarshallnz <jmarshallnz@svn>2010-08-29 06:20:34 +0000
commit05c0d993a7c25740f4b2b899fed87321a6a2f84b (patch)
tree0b89d85f2477e5dfe2d0bd17fb29d81ed229e279
parent2b16bc71e587ab1ef5fd624dec00d00711535b62 (diff)
fixed: Ticket #10016 - Negative start/stop value in a JSON request crashes XBMC.
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@33297 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
-rw-r--r--xbmc/lib/libjsonrpc/FileItemHandler.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/xbmc/lib/libjsonrpc/FileItemHandler.cpp b/xbmc/lib/libjsonrpc/FileItemHandler.cpp
index 7f208eb305..5bce83564f 100644
--- a/xbmc/lib/libjsonrpc/FileItemHandler.cpp
+++ b/xbmc/lib/libjsonrpc/FileItemHandler.cpp
@@ -136,9 +136,8 @@ void CFileItemHandler::HandleFileItemList(const char *id, bool allowFile, const
const Value param = parameterObject.isObject() ? parameterObject : Value(objectValue);
unsigned int size = (unsigned int)items.Size();
- unsigned int start = param.get("start", 0).asUInt();
- unsigned int end = param.get("end", size).asUInt();
- end = end > size ? size : end;
+ unsigned int start = (unsigned int)std::max(0,param.get("start", 0).asInt());
+ unsigned int end = std::min(size,param.get("end", size).asUInt());
Sort(items, param);