From df523c9c5643c8af61c1d3634e91efef4ea302bf Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Tue, 10 Jan 2012 09:41:39 +0100 Subject: Fix bounds bug --- src/main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main.c b/src/main.c index 2dd2a9b..3d387aa 100644 --- a/src/main.c +++ b/src/main.c @@ -1685,7 +1685,7 @@ gboolean hashlist_sync(hashlist_t* hlist, worker_data_t* data, } if (found == hlist->fill) { - if (a == hlist->size && !hashlist_data_resize(hlist)) + if (a + 1 >= hlist->size && !hashlist_data_resize(hlist)) { free((void*)hash); xmlrpc_DECREF(line); @@ -1695,7 +1695,7 @@ gboolean hashlist_sync(hashlist_t* hlist, worker_data_t* data, if (!hashlist_item_sync(data, env, line, hlist->data + a++)) { hlist->added = hlist->data + hlist->fill; - if (a < hlist->size) hlist->data[a].hash = NULL; + hlist->data[a].hash = NULL; xmlrpc_DECREF(line); return FALSE; } @@ -1753,7 +1753,7 @@ gboolean hashlist_sync(hashlist_t* hlist, worker_data_t* data, else { /* New */ - if (a == hlist->size && !hashlist_data_resize(hlist)) + if (a + 1 >= hlist->size && !hashlist_data_resize(hlist)) { free((void*)hash); xmlrpc_DECREF(line); @@ -1762,7 +1762,7 @@ gboolean hashlist_sync(hashlist_t* hlist, worker_data_t* data, torrent_data_init(hlist->data + a, hash); if (!hashlist_item_sync(data, env, line, hlist->data + a++)) { - if (a < hlist->size) hlist->data[a].hash = NULL; + hlist->data[a].hash = NULL; hlist->added = hlist->data + hlist->fill; xmlrpc_DECREF(line); return FALSE; -- cgit v1.2.3-70-g09d2