please find attached a patch for this bug.
i have dns issues on my end so i can not check it in myself
Index: asn1/acse/packet-acse-template.c
===================================================================
--- asn1/acse/packet-acse-template.c (revision 16206)
+++ asn1/acse/packet-acse-template.c (working copy)
@@ -218,9 +218,10 @@
/* we can't make any additional checking here */
/* postpone it before dissector will have more information */
while (tvb_reported_length_remaining(tvb, offset) > 0){
+ int old_offset=offset;
offset = dissect_acse_ACSE_apdu(FALSE, tvb, offset, pinfo, tree, -1);
- if(offset == FALSE ){
- proto_tree_add_text(tree, tvb, offset, -1,"Internal error");
+ if(offset == old_offset ){
+ proto_tree_add_text(tree, tvb, offset, -1,"Malformed packet");
offset = tvb_length(tvb);
break;
}
Index: epan/dissectors/packet-acse.c
===================================================================
--- epan/dissectors/packet-acse.c (revision 16206)
+++ epan/dissectors/packet-acse.c (working copy)
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* .\packet-acse.c */
+/* ./packet-acse.c */
/* ../../tools/asn2eth.py -X -b -e -p acse -c acse.cnf -s packet-acse-template acse.asn */
/* Input file: packet-acse-template.c */
@@ -1917,9 +1917,10 @@
/* we can't make any additional checking here */
/* postpone it before dissector will have more information */
while (tvb_reported_length_remaining(tvb, offset) > 0){
+ int old_offset=offset;
offset = dissect_acse_ACSE_apdu(FALSE, tvb, offset, pinfo, tree, -1);
- if(offset == FALSE ){
- proto_tree_add_text(tree, tvb, offset, -1,"Internal error");
+ if(offset == old_offset ){
+ proto_tree_add_text(tree, tvb, offset, -1,"Malformed packet");
offset = tvb_length(tvb);
break;
}
Index: epan/dissectors/packet-acse.h
===================================================================
--- epan/dissectors/packet-acse.h (revision 16206)
+++ epan/dissectors/packet-acse.h (working copy)
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* .\packet-acse.h */
+/* ./packet-acse.h */
/* ../../tools/asn2eth.py -X -b -e -p acse -c acse.cnf -s packet-acse-template acse.asn */
/* Input file: packet-acse-template.h */