Hi Hung,
Reviewed and tested the patch.
Comments inline.
/Neel.
On 2016/06/17 10:04 AM, Hung Nguyen wrote:
> osaf/services/saf/immsv/immnd/immnd_proc.c | 21 ++++++++-------------
> 1 files changed, 8 insertions(+), 13 deletions(-)
>
>
> 'mDir' and 'mFile' are checked during the initialization of IMMND.
> If they are NULL, IMMND will fail to start.
> We can assume that they are not NULL if IMMND starts successfully.
>
> 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) {
Here check for len. if len is greater than "0" then do strdup.
> - 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) {
Here also, check for length for mDir and mFile.
/Neel.
> - 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