On Tue, Apr 02, 2013 at 07:47:26PM +0800, Wenchao Xia wrote:
> diff --git a/qemu-img.c b/qemu-img.c
> index 5b229a9..032f68c 100644
> --- a/qemu-img.c
> +++ b/qemu-img.c
> @@ -1558,18 +1558,24 @@ static void dump_snapshots(BlockDriverState *bs)
> {
> QEMUSnapshotInfo *sn_tab, *sn;
> int nb_sns, i;
> - char buf[256];
> + GString *buf = g_string_new(NULL);
>
> nb_sns = bdrv_snapshot_list(bs, &sn_tab);
> if (nb_sns <= 0)
> return;
Leaks buf.
> diff --git a/savevm.c b/savevm.c
> index e4e0008..ce0bbe1 100644
> --- a/savevm.c
> +++ b/savevm.c
> @@ -2466,7 +2466,7 @@ void do_info_snapshots(Monitor *mon, const QDict *qdict)
> int nb_sns, i, ret, available;
> int total;
> int *available_snapshots;
> - char buf[256];
> + GString *buf = NULL;
>
> bs = bdrv_snapshots();
> if (!bs) {
> @@ -2509,11 +2509,16 @@ void do_info_snapshots(Monitor *mon, const QDict
> *qdict)
> }
>
> if (total > 0) {
Please declare buf here since it is only used in this scope.