diff
--- a/epan/dissectors/packet-enttec.c .old2010-11-18 22:30:35.000000000 +0100
+++ b/epan/dissectors/packet-enttec.c	2010-12-31 20:20:09.000000000 +0100
@@ -225,10 +225,10 @@
 		length = 512;
 
 	if (type == ENTTEC_DATA_TYPE_RLE) {
-		/* uncompres the DMX data */
+		/* uncompress the DMX data */
 		ui = 0;
 		ci = 0;
-		while (ci < length) {
+		while (ci < length && ui < 512) {
 			v = tvb_get_guint8(tvb, offset+ci);
 			if (v == 0xFE) {
 				ci++;
@@ -236,7 +236,7 @@
 				ci++;
 				v = tvb_get_guint8(tvb, offset+ci);
 				ci++;
-				for (i=0;i < count;i++) {
+				for (i=0;i < count && ui < 512;i++) {
 					dmx_data[ui] = v;
 					dmx_data_offset[ui] = ci-3;
 					ui++;
