crush/builder.c: fix sizeof handling of bucket->h.items

Fix sizeof handling for realloc/malloc of bucket->h.items. items are
of type __s32 and not __u32 (sizeof gives the same size, but fix it
to represent the correct type).

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
crush/builder.c: fix realloc handling

Fix handling of realloc. If realloc() fails it returns NULL, assigning
the return value of realloc() directly to the pointer without checking
for the result will lead to a memory leak in error case.

Use a temporary pointer to hold the result of realloc(). In error case
return -ENOMEM, otherwise assign it to the pointer we want to realloc.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Merge pull request #83 from dalgaaf/wip-da-realloc

crush/builder.c: fix realloc handling

Reviewed-by: Sage Weil <sage@inktank.com>