src/hb-serialize.hh


Log

Author Commit Date CI Message
Garret Rieger 2bd911b8 2021-08-26T14:32:17 [subset] handle cmap4 overflows. If a cmap4 subtable overflows during serialization drop it and the corresponding EncodingRecord. Don't drop the corresponding cmap12 table if it would have otherwise been removed.
Behdad Esfahbod 087e2705 2021-07-28T11:42:31 Fix signed-ness error in 0ded6a70c829284a8220ce30a405b0a974061df4
Behdad Esfahbod 0ded6a70 2021-07-28T11:28:38 [subset] Fix another fuzzer issue Addition could overflow on 32bit arch. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36636 Fixes https://oss-fuzz.com/testcase-detail/5072358514753536
Behdad Esfahbod 7b8464b6 2021-07-27T13:15:07 [serialize] Check for overflow in allocate_size() If size was > INT_MAX, then the out-of-room check was failing to perform as intended. Part of fixing https://oss-fuzz.com/testcase-detail/5362189182566400
Behdad Esfahbod 2337f0d0 2021-07-08T10:58:50 Internally use hb_malloc/.../hb_free instead of malloc/.../free Redefining those stock names as macros was conflicting with gcc 10 headers. Fixes https://github.com/harfbuzz/harfbuzz/issues/3044
Behdad Esfahbod bb48bf52 2021-07-08T10:53:45 Rename misc uses of "free" In preparation for fixing https://github.com/harfbuzz/harfbuzz/issues/3044
Garret Rieger 10ad1859 2021-06-16T16:34:46 [subset] add comment to copy_bytes().
Garret Rieger 675ebbeb 2021-06-16T10:40:46 [subset] don't alloc zero bytes. It will be leaked later since hb_blob_create() won't set up the blob to cleanup since it has length zero.
Qunxin Liu b23f29bf 2021-04-17T09:59:45 [subset] Add subset () method for COLRv1 Paint tables, BaseGlyphV1List and LayerV1List Also add support for Offset24 in serializer and repacker
Garret Rieger 9a3537e5 2021-03-29T14:34:24 [subset] invert err() return value. Undo previous change to check_success.
Garret Rieger cdba5d44 2021-03-29T14:23:59 [subset] fix incorrect handling of return value in check_success in the error case.
Garret Rieger 46bf03d6 2021-03-18T14:35:36 [subset] add NODISCARD to error checking methods on serializer.
Garret Rieger 3827a3eb 2021-03-18T11:20:03 [subset] rename serializer::set_error() to err().
Garret Rieger b14475d2 2021-03-18T10:51:26 [subset] further changes to serializer error handling. - Rename enum type and enum members. - in_errors() now returns true for any error having been set. hb-subset now looks for offset overflow only errors to divert to repacker. - Added INT_OVERFLOW and ARRAY_OVERFLOW enum values.
Garret Rieger 73ed59f7 2021-03-17T15:53:10 [subset] store errors in the serializer as a flag set. Make check_assign/check_equal specify the type of error to set.
Garret Rieger b9ecc742 2021-02-16T13:39:10 [subset] init offset_overflow in hb_serialize_context_t.
Garret Rieger 832f2b59 2020-11-10T16:15:37 [subset] Refactor _subset () to reduce nesting and eliminate the use of 'goto'.
Garret Rieger 6b1ea4cb 2020-10-30T12:16:26 [subset] hook up the repacker to run if offset overflows are encountered during subsetting.
Garret Rieger 1584d3cb 2020-10-28T17:49:09 [subset] Start a proof of concept implementation of the GSUB/GPOS offset overflow resolver.
Behdad Esfahbod e5b7bc42 2020-06-29T01:24:02 m Add default value to BEInt<> Size template parameter
Behdad Esfahbod dfa9d7ac 2021-02-11T11:08:52 [minor] Use serializer->propagate_error() to simplify code
Garret Rieger 6f754852 2020-08-11T15:40:47 [ENOMEM] skip asserts in to_bias if serializer is in an error state.
Garret Rieger 040ed094 2020-07-30T15:14:02 [ENOMEM] popragate packed/packed_map errors to the serializer. Will disable further modifications based on a bad state.
Garret Rieger 4cbc7d61 2020-07-30T12:20:31 [ENOMEM] check for unset current in serializer->length().
Garret Rieger 15644ee6 2020-07-29T16:37:39 [ENOMEM] fix memory leak if allocation fails during pop_pack().
Garret Rieger 42237adf 2020-07-29T15:18:25 [ENOMEM] make serializer modification operations no-ops if it's in an error state.
Behdad Esfahbod 2cc85281 2020-04-18T16:29:32 [serializer] Make snapshot()/revert() revert current object links Fixes https://github.com/harfbuzz/harfbuzz/issues/2325
ariza 65f41363 2020-04-01T19:49:18 minor; fixes #2292
ariza 188a0a47 2020-03-07T11:02:36 removed default base; replaced w/ bias if required
blueshade7 4c3af7d4 2020-03-05T15:40:44 add "add_link()" with bias arg issue #2227
ariza 6120f50c 2020-02-19T13:55:39 fix Head with link.bias
ariza e65bff09 2020-02-19T13:38:04 workaround whence_t as bit-field
ariza 1aed6d22 2020-02-19T13:20:29 fix whence=Head; position as 28 bits
ariza 4ca8e0d9 2020-02-19T12:52:18 re-implement Tail; rewrote name table with it
ariza c1313e4b 2020-02-17T17:33:18 minor: undid unintended change
ariza 9c65680b 2020-02-17T16:59:45 rename enums to avoid conflict on win
ariza 555f6f1d 2020-02-17T16:29:40 merge add_link_abs() into add_link()
ariza 017cd945 2020-02-06T16:11:58 added add_link_abs()
ariza 65858463 2020-02-16T17:16:29 pop_pack(share=false) in end_serialize() issue #2177
Michiharu Ariza 39fb57c0 2020-02-16T08:38:41 add share option to pop_pack() (#2176) as a solution for #2164
Behdad Esfahbod d663e28a 2020-02-12T15:41:21 [serialize] Catch signedness overflows in check_assign() Should address https://github.com/harfbuzz/harfbuzz/pull/2163#pullrequestreview-355137936
Ebrahim Byagowi 486754a8 2019-09-23T23:48:08 [serialize] Extract iterable copy, copy_all
Ebrahim Byagowi 22b6c6a5 2019-09-24T12:06:28 [serialize] use for each as #resolve_links, format
Qunxin Liu 512551f2 2019-09-23T17:28:16 memory leak fix in serializer (#1988)
Behdad Esfahbod 1c56b5d1 2019-06-17T14:23:04 [serialize] Fix copy() calling operator= https://github.com/googlefonts/harfbuzz/commit/9f610ae239a11e86f94621e26bc15849b65ce41b#commitcomment-33944686
Behdad Esfahbod e8b45c19 2019-05-08T16:37:38 [array] Add .copy()
Behdad Esfahbod 83e3eabd 2019-05-07T20:58:43 Whitespace
Behdad Esfahbod 5c0f62ad 2019-05-07T17:23:46 [serializer] Accept pointer & reference in more methods
Behdad Esfahbod 839618de 2019-05-07T17:21:27 [serializer] Minor
Behdad Esfahbod fa8c4ba8 2019-05-07T14:26:03 Minor
Behdad Esfahbod 52f6c04c 2019-05-07T13:45:48 Minor
Behdad Esfahbod 2eb7e0e0 2019-05-07T12:45:38 [serialize] Minor
Behdad Esfahbod 1c81cff2 2019-05-07T11:51:10 Fix signed-comparison error on 32bit
Behdad Esfahbod e6a622b5 2019-05-07T11:06:43 [serialize] Enable bias assertion
Behdad Esfahbod 530ddbbc 2019-05-07T11:05:51 [serialize] Use range-based loop
Behdad Esfahbod 240f57e5 2019-05-06T23:17:39 Rename hb_deref_pointer() to hb_deref()
Behdad Esfahbod 431b6e1c 2019-05-02T16:22:32 [serialize] Disable assertion for now
Behdad Esfahbod 8a32c9ee 2019-05-02T16:20:18 [serialize] Misc getting copy() to work
Behdad Esfahbod 91176d5b 2019-05-02T15:12:07 [serialize] Check offset base is within (possibly end of) object
Behdad Esfahbod 998b0b68 2019-05-02T14:39:52 [serializer] Add copy() to (Unsized)ArrayOf
Behdad Esfahbod 88fdeeec 2019-05-02T14:14:33 [serialize] Take arguments in copy()
Behdad Esfahbod 6cc9707c 2019-04-24T10:22:06 [serialize] Rename
Behdad Esfahbod 915b9ea5 2019-04-24T10:07:19 [serialize] Add c->check_assign() To check for assignment overflows.
Behdad Esfahbod 441cca23 2019-04-23T23:49:21 Use hb_forward() when forwarding parameter pack
Behdad Esfahbod 9c724e48 2019-04-22T15:37:10 [serializer] Add err_propagaged_error()
Behdad Esfahbod 24da1d08 2019-04-22T15:20:25 Use variadic template args for propagate_error() Let's see if bots happy. Not sure where else we can use these. Mm. Maybe in hb_invoke().
Behdad Esfahbod 9bab3984 2019-04-22T15:16:35 Simplify propagate_error()
Behdad Esfahbod 693d91cd 2019-04-17T17:59:39 [serialize] Fix offset calculation
Behdad Esfahbod db0c9a14 2019-04-17T17:58:13 [subset] Assert offsets are zero during relocation If they're not, it's a bug in our subsetting logic somewhere. So check.
Behdad Esfahbod efbba7ad 2019-04-17T11:00:08 [serializer] Add copy() Calls obj.copy() or obj.operator=() in that order.
Behdad Esfahbod 7b863142 2019-04-03T15:48:27 [serialize] Make putting breakpoint on out-of-memory easier
Behdad Esfahbod 6215fb8e 2019-04-02T23:10:03 [serialize] Actually reclaim storage from duplicate objects
Behdad Esfahbod 3305a2ca 2019-04-02T22:42:22 [serialize] Port to use object pool Tested, but feels fragile :(.
Behdad Esfahbod 8e4df1a1 2019-04-02T20:20:53 [serialize] Disable packed_map again Ugh. Need to think of something else.
Behdad Esfahbod 5b66b033 2019-04-02T19:27:02 [serialize] Fix hb_hashmap_t<> for pointers and use in packed_map
Behdad Esfahbod fc24bb90 2019-04-02T17:49:52 [serialize] Towards maintaining packed_map
Behdad Esfahbod e04518ba 2019-04-02T17:20:04 [serialize] Movce empty-object handling earlier
Behdad Esfahbod 5a3de4f4 2019-04-02T16:53:05 [serialize] Allow offset links that have base offset from the object base Rarely used, but used, in name table or similar constructs.
Behdad Esfahbod f0ea3ac1 2019-04-01T21:36:03 [serialize] Fix linking
Behdad Esfahbod 7c0e2054 2019-04-01T21:32:29 [serialize] Minor
Behdad Esfahbod abe33c61 2019-04-01T16:45:40 [serialize] Assert stack
Behdad Esfahbod 72e9b2c1 2019-04-01T16:17:30 [serialize] Add add_link() to add link
Behdad Esfahbod 74addbec 2019-04-01T14:17:09 [serialize] Add default template type to push()
Behdad Esfahbod f3aca6aa 2019-03-31T21:37:14 [serialize] Implement linking Untested!
Behdad Esfahbod d6005b49 2019-03-30T19:49:56 [serialize] Start implementing linking
Behdad Esfahbod 313b3057 2019-03-30T19:46:35 [serializer] Implement dedup!
Behdad Esfahbod b189bbc4 2019-03-30T19:41:48 Implement hashing of objects Should be improved for hb_bytes_t.
Behdad Esfahbod d74dc3ef 2019-03-30T19:26:37 [serialize] Don't insert empty object into tree
Behdad Esfahbod 7fd82283 2019-03-30T19:16:20 [serialize] Towards maintaining hashmap
Behdad Esfahbod f254f45a 2019-03-30T19:05:51 [serialize] Only pack main object if there are other objects Avoids a memmove for tables that don't use the object packing mechanism.
Behdad Esfahbod 946d446f 2019-03-30T19:03:55 [serialize] Copy both sides of the buffer
Behdad Esfahbod 8512dc56 2019-03-30T19:01:23 [serialize] Simplify copy
Behdad Esfahbod 0b1fe7b7 2019-03-30T18:48:26 [serializer] Unbreak for now
Behdad Esfahbod 4c4d3c3e 2019-03-30T18:30:50 [vector] Add some move and forwarding
Behdad Esfahbod 9a19b885 2019-03-30T18:14:30 [serialize] Flesh out packing
Behdad Esfahbod 6f69c9d2 2019-03-30T18:00:03 [serialize] Minor
Behdad Esfahbod a4329019 2019-03-30T17:51:26 [serialize] Add packed_map
Behdad Esfahbod bed150bd 2019-03-30T17:26:35 [serialize] Start fleshing out object stack
Behdad Esfahbod 63c35651 2019-03-30T17:12:40 [serialize] Simplify propagate_error()
Behdad Esfahbod dbe9ba67 2019-03-30T17:10:59 [serialize] Add object_t, link_t, and snapshot_t