Merge from gingerbread

Change-Id: I30902cdb19698f88a1ea57cf8c7667ef867d13a8
diff --git a/mtdutils/mtdutils.c b/mtdutils/mtdutils.c
index 198f498..e4d2a60 100644
--- a/mtdutils/mtdutils.c
+++ b/mtdutils/mtdutils.c
@@ -269,8 +269,8 @@
     sprintf(mtddevname, "/dev/mtd/mtd%d", partition->device_index);
     ctx->fd = open(mtddevname, O_RDONLY);
     if (ctx->fd < 0) {
-        free(ctx);
         free(ctx->buffer);
+        free(ctx);
         return NULL;
     }