diff options
| author | Joel Klinghed <the_jk@yahoo.com> | 2012-01-10 09:41:39 +0100 |
|---|---|---|
| committer | Joel Klinghed <the_jk@yahoo.com> | 2012-01-10 09:41:39 +0100 |
| commit | df523c9c5643c8af61c1d3634e91efef4ea302bf (patch) | |
| tree | 4686f54fc32117eacf121ed47adccac1b33bacf7 | |
| parent | 56f0f398a96146cae851c1847f656a4ff66964dc (diff) | |
Fix bounds bug
| -rw-r--r-- | src/main.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -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; |
