Ryan Stone
19a4afb3e6
Prevent creation of an invalid nvlist
...
If an nvlist is set as a child of another nvlist with
nvlist_move_nvlist then fail the operation and set the parent
nvlist to the error state.
Differential Revision: https://reviews.freebsd.org/D1880
Reviewers: jfv
MFC after: 1 month
Sponsored by: Sandvine Inc
2015-03-01 00:22:38 +00:00
Pawel Jakub Dawidek
00294559aa
If moving descriptor or binary data to an nvlist fails, we need to close the
...
descriptor or free the memory before returning.
Submitted by: Mariusz Zaborski <oshogbo@FreeBSD.org>
While here, protect errno, so it won't be overwritted by close(2) or free(3).
2015-01-30 09:44:29 +00:00
Pawel Jakub Dawidek
8018334b70
Fix problem on big endian systems introduced in r271579 - when we were
...
returning from handling a nested nvlist we were resetting big-endian flag.
Reported by: Kuleshov Aleksey @ yandex.ru
Tested by: Kuleshov Aleksey @ yandex.ru
2014-10-09 20:55:05 +00:00
Pawel Jakub Dawidek
d3c24fcffe
Don't use nvl in case of a failure.
...
Reported by: Coverity
CID: 1238922
2014-09-18 22:34:52 +00:00
Pawel Jakub Dawidek
4c2f60df45
Use non-recursive algorithm for traversing nvlists. This also removes
...
the limit on number of nested nvlists.
Submitted by: Mariusz Zaborski
2014-09-14 09:30:09 +00:00
Pawel Jakub Dawidek
a9554102f9
Fix double free().
...
Reported by: Coverity
Coverity CID: 1130048
2013-11-25 20:45:30 +00:00
Pawel Jakub Dawidek
36da5199bb
Bring in libnv library for managing name/value pairs. The following types
...
are currently supported:
- NV_TYPE_NULL - only name, no data;
- NV_TYPE_BOOL - boolean (true or false);
- NV_TYPE_NUMBER - 64bit unsigned integer;
- NV_TYPE_STRING - C string;
- NV_TYPE_NVLIST - nested nvlist;
- NV_TYPE_DESCRIPTOR - file descriptor;
- NV_TYPE_BINARY - binary data.
For detailed documentation and examples see nv(3) manual page.
Sponsored by: The FreeBSD Foundation
2013-11-12 19:39:14 +00:00