]> granicus.if.org Git - yasm/commitdiff
* bc-data.c (yasm_bc_create_data): Fix crash on empty string (e.g. db '').
authorPeter Johnson <peter@tortall.net>
Thu, 1 Jun 2006 05:50:27 +0000 (05:50 -0000)
committerPeter Johnson <peter@tortall.net>
Thu, 1 Jun 2006 05:50:27 +0000 (05:50 -0000)
svn path=/trunk/yasm/; revision=1547

libyasm/bc-data.c
libyasm/tests/Makefile.inc
libyasm/tests/emptydata.asm [new file with mode: 0644]
libyasm/tests/emptydata.errwarn [new file with mode: 0644]
libyasm/tests/emptydata.hex [new file with mode: 0644]

index a253534d7b1ef0a92dde5513e950648da2230499..9c9dd82234d7b133fbd0bd971f2f629c49197f98 100644 (file)
@@ -271,7 +271,7 @@ yasm_bc_create_data(yasm_datavalhead *datahead, unsigned int size,
     dv = STAILQ_FIRST(datahead);
     dvo = STAILQ_FIRST(&data->datahead);
     len = 0;
-    while (dv) {
+    while (dv && dvo) {
        switch (dv->type) {
            case DV_EMPTY:
                break;
index 830162452fa29fb3910d1d657c840e12791d79d6..0b0a68fbd68ac57457a3401f36e1b4d6982b6aca 100644 (file)
@@ -15,6 +15,9 @@ EXTRA_DIST += libyasm/tests/charconst64.errwarn
 EXTRA_DIST += libyasm/tests/charconst64.hex
 EXTRA_DIST += libyasm/tests/duplabel-err.asm
 EXTRA_DIST += libyasm/tests/duplabel-err.errwarn
+EXTRA_DIST += libyasm/tests/emptydata.asm
+EXTRA_DIST += libyasm/tests/emptydata.errwarn
+EXTRA_DIST += libyasm/tests/emptydata.hex
 EXTRA_DIST += libyasm/tests/expr-wide-ident.asm
 EXTRA_DIST += libyasm/tests/expr-wide-ident.errwarn
 EXTRA_DIST += libyasm/tests/expr-wide-ident.hex
diff --git a/libyasm/tests/emptydata.asm b/libyasm/tests/emptydata.asm
new file mode 100644 (file)
index 0000000..27b5651
--- /dev/null
@@ -0,0 +1 @@
+db ''
diff --git a/libyasm/tests/emptydata.errwarn b/libyasm/tests/emptydata.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/libyasm/tests/emptydata.hex b/libyasm/tests/emptydata.hex
new file mode 100644 (file)
index 0000000..e69de29