If any of the build flags `BUILD_HOST` or `ANDROID` is set and the caller did not pass an option of type `SELABEL_OPT_PATH`, the variable `path` might be not set. Add a check to avoid calling `strdup()` with a NULL pointer. Found by cppcheck. src/label_file.c:759:26: warning: Possible null pointer dereference: path [nullPointer] rec->spec_file = strdup(path); ^ src/label_file.c:713:21: note: Assignment 'path=NULL', assigned value is 0 const char *path = NULL; ^ src/label_file.c:759:26: note: Null pointer dereference rec->spec_file = strdup(path); ^ Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx> --- libselinux/src/label_file.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libselinux/src/label_file.c b/libselinux/src/label_file.c index 4d4e3a76..39a56133 100644 --- a/libselinux/src/label_file.c +++ b/libselinux/src/label_file.c @@ -756,6 +756,10 @@ static int init(struct selabel_handle *rec, const struct selinux_opt *opts, } #endif + + if (!path) + goto finish; + rec->spec_file = strdup(path); /* -- 2.31.1