[gtk/gtk-3-24] [GtkSearchEngineQuartz] Don't run off the end of the results array and crash.
- From: John Ralls <jralls src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/gtk-3-24] [GtkSearchEngineQuartz] Don't run off the end of the results array and crash.
- Date: Sat, 12 Jan 2019 00:22:15 +0000 (UTC)
commit 3c49c593f57d0153fea0c191f502addfbd8a6f61
Author: John Ralls <jralls ceridwen us>
Date: Fri Jan 11 16:14:00 2019 -0800
[GtkSearchEngineQuartz] Don't run off the end of the results array and crash.
gtk/gtksearchenginequartz.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
---
diff --git a/gtk/gtksearchenginequartz.c b/gtk/gtksearchenginequartz.c
index 7e9d5dd721..f408c415a8 100644
--- a/gtk/gtksearchenginequartz.c
+++ b/gtk/gtksearchenginequartz.c
@@ -73,12 +73,14 @@ G_DEFINE_TYPE_WITH_PRIVATE (GtkSearchEngineQuartz, _gtk_search_engine_quartz, GT
{
int i;
GList *hits = NULL;
- /* The max was originally set to 1000 to mimic the Beagle backend. */
- const unsigned int max_hits = 1000;
- const unsigned int max_iter = submitted_hits + [ns_query resultCount];
+ /* The max was originally set to 1000 to mimic something called "the
+ * boogie backend". submitted_hits contains the number of hits we've
+ * processed in previous calls to this function.
+ */
+ const unsigned int max_hits = 1000 - submitted_hits;
+ const unsigned int max_iter = [ns_query resultCount];
- /* Here we submit hits "submitted_hits" to "resultCount" */
- for (i = submitted_hits; i < max_iter && i < max_hits; ++i)
+ for (i = 0; i < max_iter && i < max_hits; ++i)
{
id result = [ns_query resultAtIndex:i];
const char *result_path;
@@ -101,7 +103,7 @@ G_DEFINE_TYPE_WITH_PRIVATE (GtkSearchEngineQuartz, _gtk_search_engine_quartz, GT
if (max_iter >= max_hits)
[ns_query stopQuery];
- submitted_hits = max_iter;
+ submitted_hits += max_iter;
}
- (void) queryUpdate:(id)sender
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]