]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/erasurecode: free allocated memory before return NULL
authorXing Lin <xinglin@cs.utah.edu>
Tue, 5 Nov 2013 05:03:08 +0000 (22:03 -0700)
committerXing Lin <xinglin@cs.utah.edu>
Wed, 6 Nov 2013 17:33:27 +0000 (10:33 -0700)
free memory space pointed by row_ids and ind_to_row before return

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
src/osd/ErasureCodePluginJerasure/jerasure.c

index d5752a8ee517b95cbfd195da688bdb46fb5c0d25..e5df475001c1c0fcc778163a05d2eb200de95d42 100755 (executable)
@@ -839,7 +839,11 @@ static int **jerasure_generate_decoding_schedule(int k, int m, int w, int *bitma
   row_ids = talloc(int, k+m);
   ind_to_row = talloc(int, k+m);
 
-  if (set_up_ids_for_scheduled_decoding(k, m, erasures, row_ids, ind_to_row) < 0) return NULL;
+  if (set_up_ids_for_scheduled_decoding(k, m, erasures, row_ids, ind_to_row) < 0) {
+    free(row_ids);
+    free(ind_to_row);
+    return NULL;
+  }
 
   /* Now, we're going to create one decoding matrix which is going to 
      decode everything with one call.  The hope is that the scheduler