The current production release version of the ASN1C
compiler is 5.64. The following changes have been made since the last patch
release (5.63):
 |
Fixed bug in Java PER encode/decode of
large integer values. |
 |
Fixed bug in C streaming BER decode
logic. If socket stream was used and socket was closed during decoding of an
Open Type then an infinite loop could occur (PR #000118). |
 |
Fixed C run-time rtStreamBufClose
function. If flush was unsuccessful when stream was not closed then memory for
internal buffer was not being unlocked (PR #000118). |
 |
Fixed C run-time rtCmp functions that
take a buffer argument to provide a textual description of the comparison
status. Text buffer overruns were occurring. Also changed logic so that if NULL
was passed as the buffer argument, the textual information would not be written
(PR #000116). |
 |
Fixed Java XER encoding of REAL value,
sometimes the encoded value was not formatted correctly. Also removed extra '+'
sign in exponent as specified in X.693, 9.2.5 (PR #000114). |
 |
Fixed bug in ASN1CTime::addMilliseconds
method - it worked incorrectly with TZ > 0 and time near midnight (00:00)
(PR #000113). |
 |
Fixed bug in Java PER code generation
for multiple value range constraints on integer type definitions (PR
#000112). |
 |
Fixed bugs in table constraint
processing in which parameterized information objects were not being resolved
(PR #000111). |
 |
Fixed bug in which it was not possible to
change decode buffers after the initial buffer was set using the
ASN1BERDecodeBuffer::setBuffer method (PR #000110). |
|
The following changes were made in v5.63 from the previous
release (v5.62):
 |
A bug in the decoding of unsigned
integers for streaming BER was fixed. The destination variable was not zeroed
before decoding started. (PR #000092) |
 |
A bug in
cpp/sample_ber/eventHandler/writer.cpp was fixed: the optional bit for
"children" was not set. (PR #000093) |
 |
Fixed issues in porting ASN1C to FreeBSD
5.1. (PR #000094) |
 |
Fixed memory leak when encoding ASN.1
open types using BER. (PR #000095) |
 |
Removed use of wchar_t type in BMP and
Universal string encode logic due to potential portability problems (used
ASN116BITCHAR and ASN132BITCHAR respectively). (PR #000096) |
 |
A bug in EOC detection in BER streams
was fixed. EOC was not being detected when it was split across a buffer
boundary. (PR #000097) |
 |
A bug in asn1Free_xxxx function code
generation for CHOICE was fixed. Sometime incorrect 'case' values in 'switch'
would appear if choice contained NULL alternatives. (PR #000098) |
 |
A minor bug was fixed in the
rtStreamClose function. Flags were reset before call to 'close' function, which
might have lead to incorrect closing and error reporting. (PR #000099) |
 |
Fixed bug in GeneralizedTime in Java.
Seconds fraction (after .) leading zero was truncated. This was required for
millisecond and microsecond calculations. (PR #000100) |
 |
A bug in copy routines code generation
was fixed. If SEQUENCE had forward referenced or dynamic elements, then memory
was not being allocated in generated asn1Copy_* function. This caused a crash.
(PR #000101) |
 |
A bug in the compiler output class in
which the write method incorrectly determined newline condition was fixed. This
would occur if the given text had zero length. This caused incorrect code
generation on PowerPC Linux. (PR #000102) |
 |
A bug in the copying of big integer
values was fixed. (PR #000103) |
 |
A memory leak in generated C PER decode
functions was fixed. This occurred when local contexts were used to decode open
types. (PR #000104) |
 |
Fixed warnings of GCC compiler with -Wall
option. (PR #000105) |
 |
Modified code in C/C++ run-time libraries
to always check result of memory allocation operations for NULL. (PR
#000107) |
 |
A bug in the use of rtMemReset with
streams was fixed. (PR #000108) |
|
The following changes were made in v5.62 from the previous
release (v5.61):
 |
Updated EXPAT XML parser library to
v1.95.7. EXPAT is the default XML parser library used for C/C++ XER/XML SAX
handlers. |
 |
Fixed problem with Java run-time library
string classes in which use of an empty string was causing null pointer
exceptions. (PR# 000088) |
 |
Fixed problem with C/C++ PER code
generation with -noOpenExt option in which generated free routines were not
taking into account the absence of the 'extElem1' element in generated types.
(PR# 000081) |
 |
Fixed memory leak in PER C++ run-time
library. (PR# 000080) |
 |
Fixed bug in print-to-string functions in
which extra null-terminator character in strings was not being account for.
This was causing a buffer overrun in some situations. (PR# 000079) |
 |
Fixed PER bit-trace logic when table
constraints were specified. Bit trace included both open type and decoded
fields. (PR# 000078) |
 |
Fixed bug in front-end in suppressing
constraints if -lax was specified. This could have led to invalid PER encodings
of constrained types. (PR# 000077) |
 |
C/C++ XML/XER code generation for
dynamic named bit string fixed (PR# 000075) |
 |
Java PER event handling logic modified so
that all primitive types now cause content handlers to be executed. Before,
only elements within constructed types caused handlers to fire. |
 |
Fixed PER constraint processing logic so
that a constraint extension on the constraint list now makes all constraints
extensible. This fixed the problem of "(SIZE (x..x,...))" not being handled
that same as "(SIZE (x..x),...)" (PR# 000074) |
 |
Fixed type-casting of forward referenced
SEQUENCE OF constructs in C++ XML/XER code generation (PR# 000073). |
 |
rtGetMinusZero and rtGetNaN function
prototypes changed from "name()" to "name(void)" because of ARM compiler
warnings (PR# 000072) |
 |
Added '-pdu *' command-line option to
allow all productions in spec to be treated as PDU's |
|
 |
Modified compiler to parse (and ignore)
ENCODING-CONTROL sections in an ASN.1 specification. |
 |
Removed reference to <ctype.h>
header file and replaced referenced definitions with local versions of the
functions/macros. This was causing a portability issue between different
versions of Linux. |
 |
Fixed problems with Java event handler
callbacks: - extension element name set to ... when unknown extension item
received - added logic to trigger event for PER CHOICE extension value
- added logic to trigger event for BER SEQUENCE, CHOICE, or SET extension
value - added event handler calls to generated EXTERNAL and EMBEDDED PDV
code |
 |
Fixed generation of toString method for
enumerated types |
 |
Fixed compilation warnings from HP aCC
compiler |
 |
Fixed Java BIT STRING print logic:
Asn1BitString.toString, if bit string contains more than 16 bits, it is printed
as hexadecimal string with 4-bits round up logic. Previously it was 8-bits
round up logic. |
 |
C/C++ code generation, removed value
range constraint check for boundary value of the int type. |
 |
C/C++ code generation, fixed bug in PER
encoding of semi-constrained integer values. |
 |
XML Schema code generation fixes: -
corrected tag code generation for int and enumerated type - fixed problem
of crashing when dummy element encountered |
 |
Corrected output directory selection
logic in the GUI, also disabled event handler selection when XER or XML
encoding rules selected. |
 |
C/C++ print and printtobuffer code
generation: Extended enumerated type will print the enumeration value instead
of "???" |
 |
C/C++ XML rules, Added xml2der sample
program and corrected encoding and decoding problems with multiple rule
selection with -xml option. |
 |
Updated parser/yacc file to allow any
kind of space in EXTERNAL type and value reference names. |
 |
C/C++ code generation, fixed bug in
logic to include header file for EXTERNAL type when it is used in a
specification. |
 |
C/C++ code generation, fixed
circular/infinite loop error in MemFree function generation for recursive
optionals element in constructed type. |
 |
Java Code generation, fixed numbits count
logic for all known character string types, with permitted alphabet constraint.
Also, fixed reindexing logic, only required if max value > (2 ^ numbits -
1), error was exist as, unaligned rule uses reindexing and aligned rule doesn't
use reindexing. |
|