]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/013_populate_node_tags_and_remove_helper.c
api06: Fix bounds check.
[rails.git] / db / migrate / 013_populate_node_tags_and_remove_helper.c
index b1868ef245c82e79eb7a8fdb21b35a08726fd80f..26a8f71df553c9aff89b8a7be2f2ecc2707bfa03 100644 (file)
@@ -105,7 +105,7 @@ static void proc_nodes(struct data *d, const char *tbl, FILE *out, FILE *out_tag
     unsigned long id = strtoul(row[0], NULL, 10);
     uint32_t version;
 
-    if (id > d->version_size) {
+    if (id >= d->version_size) {
       fprintf(stderr, "preallocated nodes size exceeded");
       abort();
     }
@@ -199,9 +199,10 @@ int main(int argc, char **argv) {
 
   d->version_size = 1 + select_size(d->mysql, "SELECT max(id) FROM current_nodes");
   d->version = malloc(sizeof(uint32_t) * d->version_size);
+  memset(d->version, 0, sizeof(uint32_t) * d->version_size);
 
   prefix_len = strlen(argv[7]);
-  tempfn = (char *) malloc(prefix_len + 16);
+  tempfn = (char *) malloc(prefix_len + 32);
   strcpy(tempfn, argv[7]);
 
   strcpy(tempfn + prefix_len, "current_nodes");