fixed realloc bug
authorAndrew Tridgell <tridge@samba.org>
Thu, 8 May 2008 09:59:24 +0000 (19:59 +1000)
committerAndrew Tridgell <tridge@samba.org>
Thu, 8 May 2008 09:59:24 +0000 (19:59 +1000)
Should always use type safe talloc functions when possible. In this case we were allocating bytes instead of uint32_t

server/ctdb_recoverd.c

index c3dff32b4ade0608553c44779444e7089ddfae4c..a40dfbb62f3cd7bb8619fd1980e5598b7834c4c8 100644 (file)
@@ -1409,7 +1409,7 @@ static int do_recovery(struct ctdb_recoverd *rec,
                }
 
                vnnmap->size++;
-               vnnmap->map = talloc_realloc_size(vnnmap, vnnmap->map, vnnmap->size);
+               vnnmap->map = talloc_realloc(vnnmap, vnnmap->map, uint32_t, vnnmap->size);
                CTDB_NO_MEMORY(ctdb, vnnmap->map);
                vnnmap->map[j++] = nodemap->nodes[i].pnn;
 
@@ -1417,7 +1417,7 @@ static int do_recovery(struct ctdb_recoverd *rec,
        if (vnnmap->size == 0) {
                DEBUG(DEBUG_NOTICE, ("No suitable lmasters found. Adding local node (recmaster) anyway.\n"));
                vnnmap->size++;
-               vnnmap->map = talloc_realloc_size(vnnmap, vnnmap->map, vnnmap->size);
+               vnnmap->map = talloc_realloc(vnnmap, vnnmap->map, uint32_t, vnnmap->size);
                CTDB_NO_MEMORY(ctdb, vnnmap->map);
                vnnmap->map[0] = pnn;
        }