mirror of
https://github.com/AuxXxilium/kmod.git
synced 2024-11-23 15:00:52 +07:00
libkmod-module: check for NULL before accessing pointers
This introduces a few missing NULL-checks in public functions, and align their docstrings with real behavior by getting rid of copy-paste mistakes. Signed-off-by: Luca Bruno <luca.bruno@coreos.com>
This commit is contained in:
parent
bdf946d2cf
commit
c8f0623ad1
5
TODO
5
TODO
@ -35,6 +35,11 @@ and libkmod
|
||||
- kmod_module_symbols_free_list()
|
||||
- kmod_module_dependency_symbols_free_list()
|
||||
|
||||
* libkmod API breaking changes:
|
||||
- dedicated error value for all kmod_*_get_crc() functions. Currently there
|
||||
is no way for callers to distinguish between a valid CRC=0 and the error
|
||||
code 0.
|
||||
|
||||
* index: drop the "open(), seek(), read()" implementation and use another one
|
||||
with mmap(). When lookup() is called and the file is not mmaped, mmap it.
|
||||
Another possibility is to drop the mmap implementation relying on VFS to have
|
||||
|
@ -2519,7 +2519,7 @@ KMOD_EXPORT const char *kmod_module_version_get_symbol(const struct kmod_list *e
|
||||
{
|
||||
struct kmod_module_version *version;
|
||||
|
||||
if (entry == NULL)
|
||||
if (entry == NULL || entry->data == NULL)
|
||||
return NULL;
|
||||
|
||||
version = entry->data;
|
||||
@ -2532,14 +2532,13 @@ KMOD_EXPORT const char *kmod_module_version_get_symbol(const struct kmod_list *e
|
||||
*
|
||||
* Get the crc of a kmod module version.
|
||||
*
|
||||
* Returns: the crc of this kmod module version on success or NULL on
|
||||
* failure. The string is owned by the version, do not free it.
|
||||
* Returns: the crc of this kmod module version if available, otherwise default to 0.
|
||||
*/
|
||||
KMOD_EXPORT uint64_t kmod_module_version_get_crc(const struct kmod_list *entry)
|
||||
{
|
||||
struct kmod_module_version *version;
|
||||
|
||||
if (entry == NULL)
|
||||
if (entry == NULL || entry->data == NULL)
|
||||
return 0;
|
||||
|
||||
version = entry->data;
|
||||
@ -2660,7 +2659,7 @@ KMOD_EXPORT const char *kmod_module_symbol_get_symbol(const struct kmod_list *en
|
||||
{
|
||||
struct kmod_module_symbol *symbol;
|
||||
|
||||
if (entry == NULL)
|
||||
if (entry == NULL || entry->data == NULL)
|
||||
return NULL;
|
||||
|
||||
symbol = entry->data;
|
||||
@ -2673,14 +2672,13 @@ KMOD_EXPORT const char *kmod_module_symbol_get_symbol(const struct kmod_list *en
|
||||
*
|
||||
* Get the crc of a kmod module symbol.
|
||||
*
|
||||
* Returns: the crc of this kmod module symbol on success or NULL on
|
||||
* failure. The string is owned by the symbol, do not free it.
|
||||
* Returns: the crc of this kmod module symbol if available, otherwise default to 0.
|
||||
*/
|
||||
KMOD_EXPORT uint64_t kmod_module_symbol_get_crc(const struct kmod_list *entry)
|
||||
{
|
||||
struct kmod_module_symbol *symbol;
|
||||
|
||||
if (entry == NULL)
|
||||
if (entry == NULL || entry->data == NULL)
|
||||
return 0;
|
||||
|
||||
symbol = entry->data;
|
||||
@ -2806,7 +2804,7 @@ KMOD_EXPORT const char *kmod_module_dependency_symbol_get_symbol(const struct km
|
||||
{
|
||||
struct kmod_module_dependency_symbol *dependency_symbol;
|
||||
|
||||
if (entry == NULL)
|
||||
if (entry == NULL || entry->data == NULL)
|
||||
return NULL;
|
||||
|
||||
dependency_symbol = entry->data;
|
||||
@ -2819,14 +2817,13 @@ KMOD_EXPORT const char *kmod_module_dependency_symbol_get_symbol(const struct km
|
||||
*
|
||||
* Get the crc of a kmod module dependency_symbol.
|
||||
*
|
||||
* Returns: the crc of this kmod module dependency_symbol on success or NULL on
|
||||
* failure. The string is owned by the dependency_symbol, do not free it.
|
||||
* Returns: the crc of this kmod module dependency_symbol if available, otherwise default to 0.
|
||||
*/
|
||||
KMOD_EXPORT uint64_t kmod_module_dependency_symbol_get_crc(const struct kmod_list *entry)
|
||||
{
|
||||
struct kmod_module_dependency_symbol *dependency_symbol;
|
||||
|
||||
if (entry == NULL)
|
||||
if (entry == NULL || entry->data == NULL)
|
||||
return 0;
|
||||
|
||||
dependency_symbol = entry->data;
|
||||
@ -2846,7 +2843,7 @@ KMOD_EXPORT int kmod_module_dependency_symbol_get_bind(const struct kmod_list *e
|
||||
{
|
||||
struct kmod_module_dependency_symbol *dependency_symbol;
|
||||
|
||||
if (entry == NULL)
|
||||
if (entry == NULL || entry->data == NULL)
|
||||
return 0;
|
||||
|
||||
dependency_symbol = entry->data;
|
||||
|
Loading…
Reference in New Issue
Block a user