summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Array.cpp4
-rw-r--r--src/plist.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/Array.cpp b/src/Array.cpp
index a511841..d5d9d7c 100644
--- a/src/Array.cpp
+++ b/src/Array.cpp
@@ -22,6 +22,7 @@
#include <plist/Array.h>
#include <algorithm>
+#include <limits.h>
namespace PList
{
@@ -118,6 +119,9 @@ void Array::Remove(Node* node)
if (node)
{
uint32_t pos = plist_array_get_item_index(node->GetPlist());
+ if (pos == UINT_MAX) {
+ return;
+ }
plist_array_remove_item(_node, pos);
std::vector<Node*>::iterator it = _array.begin();
it += pos;
diff --git a/src/plist.c b/src/plist.c
index f22a8a0..3ffedc4 100644
--- a/src/plist.c
+++ b/src/plist.c
@@ -430,7 +430,7 @@ PLIST_API uint32_t plist_array_get_item_index(plist_t node)
{
return node_child_position(father, node);
}
- return 0;
+ return UINT_MAX;
}
static void _plist_array_post_insert(plist_t node, plist_t item, long n)