Commit Graph

78 Commits

Author SHA1 Message Date
Dave Cridland cffe1b112a Remove static qualifier from var in SET_OF__encode_sorted
The function `SET_OF__encode_sorted` stored the working element buffer
in a static variable. If called recursively (that is, when performing
encoding of a SET containing another SET) the outermost element buffer
is therefore clobbered by the innermost call.

This causes a SEGV on continuation of the outermost call.

Bug found during testing of [https://github.com/surevine/spiffing Spiffing],
fix verified with the same test suite.
2019-01-21 23:51:28 -08:00
Lev Walkin 304a70e9ac remove warnings 2017-11-13 23:28:54 -08:00
Lev Walkin 1351752f8d fixed non-trivial SIZE constraints for SET OF and SEQUENCE OF, fuzz-tested 2017-10-26 00:38:43 -07:00
Vasil Velichkov 24354e1cd0 fix UPER decoding of SET OF with more then 16K elements 2017-10-25 22:22:54 -07:00
Vasil Velichkov b623e8d701 Fix an undefined behaviour error in constr_SET_OF.c
constr_SET_OF.c:315:13: runtime error: null pointer passed as argument 1, which is declared to never be null

Also move some asserts into dedicated function because b->buf could be
NULL while a->length is greater then zero
2017-10-25 22:22:54 -07:00
Lev Walkin 3bbbd04155 remove warning 2017-10-24 03:34:24 -07:00
Lev Walkin 7156898e45 protect from SET OF NULL compression bomb 2017-10-24 03:29:31 -07:00
Lev Walkin d8e6bbfa9a fix memory realloc 2017-10-24 03:26:40 -07:00
Lev Walkin 52b88e1b54 uper and oer SET OF and SEQUENCE OF verified 2017-10-24 03:03:46 -07:00
Lev Walkin 005f8799b1 abstract out sorting 2017-10-23 23:15:51 -07:00
Lev Walkin d2a7360685 bound the size of SEQUENCE OF and SET OF random generator 2017-10-21 13:14:51 -07:00
Lev Walkin 62155df04d add stack overflow protection for SEQUENCE and SEQUENCE OF 2017-10-21 01:16:17 -07:00
Lev Walkin 20696a4ff3 constness fixes, round-trip and fuzz-testing for CHOICE 2017-10-17 21:27:55 -07:00
Lev Walkin d84f603285 ensure compilation with -std=89 and make constness explicit. 2017-10-03 16:33:59 -07:00
Lev Walkin 9d1b45f8ac Fix UPER string decoding constrained only by lower bound > 0 2017-10-02 00:42:00 -07:00
Lev Walkin a5972bedae Combined constraints and introduced value randomizer. 2017-09-29 23:15:58 -07:00
Lev Walkin 4fe2882262 ensure xer encode yields the same number of bytes as it sends to the callback 2017-09-18 02:57:43 -07:00
Lev Walkin e835b3ad41 removed undefined behavior warning 2017-09-18 00:14:40 -07:00
Lev Walkin afbf2a9828 add const 2017-09-12 23:30:27 -07:00
Lev Walkin 154519a3a7 removed superfluous constraints duplication 2017-09-06 23:34:40 -07:00
Lev Walkin c6bd359a08 decode SET OF OER, file 2017-08-30 20:21:35 -07:00
Lev Walkin 96f9921b09 decode SET OF in OER 2017-08-29 23:38:31 -07:00
Lev Walkin 8d99d7b5c8 introduced ASN_STRUCT_RESET; preferred over ASN_STRUCT_FREE_CONTENTS_ONLY 2017-08-25 01:06:00 -07:00
Bi-Ruei, Chiu 1f87ac0058 Move type operations to another structure
Every type has free, print, check_constraints, ber_decoder, der_encoder,
xer_decoder, xer_encoder, uper_decoder, uper_encoder and outmost_tag
operations. We move them out to a separate structure asn_TYPE_operation_t.

Combined with previous logic simplification, these operations are based
on ASN.1 basic types, constructed types and string types. So we can
reduce the space occupied by asn_TYPE_descriptor_t variables.
2017-08-24 14:09:28 +08:00
Lev Walkin f6853ce38e further runtime support for information object classes 2017-08-11 01:37:26 -07:00
Lev Walkin cd2f48eb5a structure comparison functions 2017-08-10 02:52:25 -07:00
Lev Walkin 494fb707a7 fix warnings 2017-08-07 20:07:08 -07:00
Lev Walkin 7c1dc05f0e do not use reserved identifiers, contd 2016-03-14 03:08:19 -07:00
Lev Walkin c6cac8e958 do not use reserved identifiers 2016-03-14 02:57:34 -07:00
Lev Walkin 9736348c47 remove compiler warnings 2016-01-24 19:23:02 -08:00
Lev Walkin aa61a0f821 pointer warning fixes 2014-01-14 00:58:26 -08:00
Lev Walkin 9c70e74c0c remove warnings 2013-10-17 13:03:36 -07:00
Lev Walkin 2e763993f9 remove compiler warnings 2011-07-21 01:17:37 +04:00
Lev Walkin 525fc250eb freeing properly 2007-02-23 19:30:10 +00:00
Lev Walkin 4f530b5208 Memory leak fixed in SET OF / SEQUENCE OF in wrong encoding processing 2006-10-19 05:27:54 +00:00
Lev Walkin ed9019a9e4 constraint fail message 2006-10-16 12:18:41 +00:00
Lev Walkin 725883b28d more PER support 2006-10-09 12:07:58 +00:00
Lev Walkin 0a8aa6043f per encoding support 2006-09-18 20:05:55 +00:00
Lev Walkin 419f6757b4 clarity 2006-09-13 04:02:00 +00:00
Lev Walkin 1eded3544e *** empty log message *** 2006-07-13 11:19:01 +00:00
Lev Walkin adcb586c0c macro for free_struct() 2006-03-17 02:11:12 +00:00
Lev Walkin 3d231c0b86 fixes 2006-03-16 22:20:47 +00:00
Lev Walkin 990e22099f empty SET OF with malloc(0) 2006-02-26 05:08:41 +00:00
Lev Walkin 1d9e8dd64e added stack control to PER 2005-12-07 05:46:03 +00:00
Lev Walkin 1b4d059c14 *** empty log message *** 2005-11-27 12:54:20 +00:00
Lev Walkin 59b176ee35 upgrade: PER related changes 2005-11-26 11:25:14 +00:00
Lev Walkin d1bfea65a0 SET OF/SEQUENCE OF interaction with named and unnamed CHOICE 2005-11-08 03:06:16 +00:00
Lev Walkin da9a3b8a39 more words on circular references 2005-08-16 17:00:21 +00:00
Lev Walkin 7e033b5485 adjusted definitions to include gcc 4.x into the supported compilers list 2005-07-02 08:19:17 +00:00
Lev Walkin fc77643765 globalized assert() 2005-03-29 17:21:14 +00:00