libselinux: label_file::init(): do not pass NULL to strdup
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@googlemail.com>
This commit is contained in:
parent
9ab27e2180
commit
bc0a0327ca
1 changed files with 4 additions and 0 deletions
|
@ -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);
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue