Commit graph

26 commits

Author SHA1 Message Date
ewolfok
02a7fe19b1 blob: improve out-of-memory handling
Signed-off-by: Chen Bin <ewolfok@126.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-07-26 03:50:50 +02:00
Jacob Siverskog
9f55833619 blob/blobmsg: Perform explicit casts from void* to avoid compilation errors when using libubox from C++.
Signed-off by: Jacob Siverskog <jacob@teenageengineering.com>
2014-05-09 14:33:39 +02:00
Felix Fietkau
dc82993cf2 blob: make length variables unsigned
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-04-27 16:29:31 +02:00
Felix Fietkau
b1d523601a blobmsg: allow data/length iterator/accessor functions to work on non-blobmsg elements
This primarily helps with simplifying the ubus APIs.
blobmsg header presence is indicated by the BLOB_ATTR_EXTENDED bit in
the id_len field.

This changes the format ABI, but not the API.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-03-12 20:18:12 +01:00
Felix Fietkau
7b397d40bb blob: add a magic offset to nesting cookies to ensure that NULL is never returned as a normal value
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-10-16 01:22:02 +02:00
Felix Fietkau
e36789caf6 blob: add blob_put_raw() for copying one or more blob attributes into the buffer directly
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-10-04 16:55:45 +02:00
Felix Fietkau
43ca2938da blob/blobmsg: add null pointer checks to the *_for_each_attr functions, fix formatting
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-07-29 14:44:11 +02:00
Felix Fietkau
a61bc26a34 utils: move endian swap helpers and __packed definition to utils.h
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-02-11 21:46:41 +01:00
Felix Fietkau
27d3551150 blob: add blob_buf_grow()
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-02-10 20:43:33 +01:00
Felix Fietkau
412b300935 blob/blobmsg: use 32 bit load/store for 64 bit access, unaligned attributes cause data corruption on ARM
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-01-23 02:41:20 +01:00
Felix Fietkau
0c408bb982 blob.h: fix endian check
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2012-12-02 17:49:12 +01:00
Felix Fietkau
7099131386 blob: add blob_memdup() 2012-06-01 20:54:20 +02:00
Felix Fietkau
1c0c4699bc blob: switch to ISC license, switch blob_{get,put}_int* to _u*, add wrappers 2011-11-10 09:05:33 +01:00
Felix Fietkau
3e31d7ee21 fix more instances of uninitialized padding bytes 2011-10-06 17:57:13 +02:00
Felix Fietkau
e41f1d9a7d fill padding bytes when setting raw attribute length 2011-10-06 17:14:44 +02:00
Felix Fietkau
2c4cd375d2 fix reads beyond the end of the buffer when iterating over blob attributes 2011-10-03 12:36:46 +02:00
Felix Fietkau
bf27142190 blob_attr_equal: un-inline, add pointer checks 2011-09-05 06:25:51 +02:00
Felix Fietkau
5a2dadea3b add blob_attr_equal() for comparing attributes 2011-09-05 06:09:32 +02:00
Felix Fietkau
f73925d603 add blob_buf_free 2011-07-29 19:38:30 +02:00
Felix Fietkau
598c34e6bc rename blob_get_int* to blob_get_u* 2011-02-06 21:36:04 +01:00
Felix Fietkau
ff67d75964 blob: constify 2011-01-31 03:50:36 +01:00
Felix Fietkau
d8270a5153 make blob attribute checking available externally 2011-01-31 03:46:37 +01:00
Felix Fietkau
036674fe03 remove blob_buf::priv 2011-01-29 18:00:01 +01:00
Felix Fietkau
1c8025e819 add blobmsg validation function 2011-01-23 19:55:41 +01:00
Felix Fietkau
18c7e8134e constify blob_attr_info 2010-12-05 23:31:33 +01:00
Felix Fietkau
458279e4ce Initial import 2010-10-13 21:29:08 +02:00