]> granicus.if.org Git - yasm/commitdiff
bc-data.c: Fix memory leak when handling LEB128 data.
authorPeter Johnson <peter@tortall.net>
Sat, 30 Dec 2006 05:43:18 +0000 (05:43 -0000)
committerPeter Johnson <peter@tortall.net>
Sat, 30 Dec 2006 05:43:18 +0000 (05:43 -0000)
svn path=/trunk/yasm/; revision=1725

libyasm/bc-data.c

index 3f3e5533e143adc7bd427b4988687a88e74a13b8..c6b5e37aa13e00f4cb556e65f962eb51791e20e9 100644 (file)
@@ -295,10 +295,12 @@ yasm_bc_create_data(yasm_datavalhead *datahead, unsigned int size,
                    len += yasm_intnum_get_leb128(intn,
                                                  &dvo->data.raw.contents[len],
                                                  0);
+                   yasm_value_delete(&dv->data.val);
                } else if (intn && dv->type == DV_SLEB128) {
                    len += yasm_intnum_get_leb128(intn,
                                                  &dvo->data.raw.contents[len],
                                                  1);
+                   yasm_value_delete(&dv->data.val);
                } else {
                    if (len > 0)
                        dvo = STAILQ_NEXT(dvo, link);