diff options
author | Luca Bruno <luca.bruno@coreos.com> | 2018-03-07 10:51:21 +0000 |
---|---|---|
committer | Lucas De Marchi <lucas.demarchi@intel.com> | 2018-04-05 14:54:43 -0700 |
commit | c8f0623ad18194eedfcca69ccae1cbfe6cf5d2a8 (patch) | |
tree | cdab6af6a8fd5f947b66c591c50dd9c217e7836d /libkmod | |
parent | bdf946d2cfc4bc08d82d204556a7cdbf724568da (diff) | |
download | kmod-c8f0623ad18194eedfcca69ccae1cbfe6cf5d2a8.tar.gz kmod-c8f0623ad18194eedfcca69ccae1cbfe6cf5d2a8.tar.bz2 kmod-c8f0623ad18194eedfcca69ccae1cbfe6cf5d2a8.zip |
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>
Diffstat (limited to 'libkmod')
-rw-r--r-- | libkmod/libkmod-module.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c index 0a3ef11..ee420f4 100644 --- a/libkmod/libkmod-module.c +++ b/libkmod/libkmod-module.c @@ -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; |