osaf/services/saf/immsv/immnd/immnd_main.c | 4 ++--
osaf/services/saf/immsv/immnd/immnd_proc.c | 21 ++++++++-------------
2 files changed, 10 insertions(+), 15 deletions(-)
'mDir' and 'mFile' are checked during the initialization of IMMND.
If they are NULL or empty, IMMND will fail to start.
We can assume that they are not NULL and not empty (len > 0) for the rest of
the code.
diff --git a/osaf/services/saf/immsv/immnd/immnd_main.c
b/osaf/services/saf/immsv/immnd/immnd_main.c
--- a/osaf/services/saf/immsv/immnd/immnd_main.c
+++ b/osaf/services/saf/immsv/immnd/immnd_main.c
@@ -173,12 +173,12 @@ static uint32_t immnd_initialize(char *p
immnd_cb->mPbeVeteran = SA_FALSE;
immnd_cb->mPbeVeteranB = SA_FALSE;
- if (immnd_cb->mDir == NULL) {
+ if (immnd_cb->mDir == NULL || (strlen(immnd_cb->mDir) == 0)) {
LOG_ER("Env var IMMSV_ROOT_DIRECTORY missing");
goto done;
}
- if (immnd_cb->mFile == NULL) {
+ if (immnd_cb->mFile == NULL || (strlen(immnd_cb->mFile) == 0)) {
LOG_ER("Env var IMMSV_LOAD_FILE missing");
goto done;
}
diff --git a/osaf/services/saf/immsv/immnd/immnd_proc.c
b/osaf/services/saf/immsv/immnd/immnd_proc.c
--- a/osaf/services/saf/immsv/immnd/immnd_proc.c
+++ b/osaf/services/saf/immsv/immnd/immnd_proc.c
@@ -413,14 +413,14 @@ uint32_t immnd_introduceMe(IMMND_CB *cb)
(cb->mPbeFile)?((cb->mRim ==
SA_IMM_KEEP_REPOSITORY)?4:3):2;
TRACE("First immnd_introduceMe, sending pbeEnabled:%u WITH
params",
send_evt.info.immd.info.ctrl_msg.pbeEnabled);
- if(cb->mDir) {
- int len = strlen(cb->mDir);
- if( cb->mDir[len-1] == '/') {
- mdirDup = strndup((char *)cb->mDir, len-1);
- } else {
- mdirDup = strdup(cb->mDir);
- }
+
+ int len = strlen(cb->mDir);
+ if (cb->mDir[len - 1] == '/') {
+ mdirDup = strndup((char *) cb->mDir, len - 1);
+ } else {
+ mdirDup = strdup(cb->mDir);
}
+
send_evt.info.immd.info.ctrl_msg.dir.size = strlen(mdirDup)+1;
send_evt.info.immd.info.ctrl_msg.dir.buf = (char *) mdirDup;
send_evt.info.immd.info.ctrl_msg.xmlFile.size =
strlen(cb->mFile)+1;
@@ -1448,10 +1448,6 @@ static int immnd_forkLoader(IMMND_CB *cb
int i, j;
TRACE_ENTER();
- if (!cb->mDir && !cb->mFile) {
- LOG_WA("No directory and no file-name=>IMM coming up empty");
- return (-1);
- }
if ((myAbsLen - myLen + loaderBaseLen) > 1023) {
LOG_ER("Pathname too long: %u max is 1023", myAbsLen - myLen +
loaderBaseLen);
@@ -1474,8 +1470,7 @@ static int immnd_forkLoader(IMMND_CB *cb
}
if (pid == 0) { /*Child */
/* TODO Should close file-descriptors ... */
- char *ldrArgs[5] = { loaderName, (char *)(cb->mDir ? cb->mDir :
""),
- (char *)(cb->mFile ? cb->mFile :
"imm.xml"),
+ char *ldrArgs[5] = { loaderName, (char *)cb->mDir, (char
*)cb->mFile,
(preLoad)?"preload":0, 0
};
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel