Hi Giang,

Iam unable to apply the patch on the latest staging.
However, the changes look straight forward.
Should we also free logBuf?

Thanks,
Mathi.

> -----Original Message-----
> From: giang [mailto:[email protected]]
> Sent: Tuesday, August 25, 2015 11:24 AM
> To: Mathivanan Naickan Palanivelu; [email protected];
> [email protected]
> Cc: [email protected]
> Subject: [PATCH 1 of 1] log: saflogger does not check invalid options [#1367]
> 
>   osaf/tools/saflog/saflogger/saf_logger.c |  49
> ++++++++++++++++++++++---------
>   1 files changed, 35 insertions(+), 14 deletions(-)
> 
> 
> If there are invalid non-options, show them, recommend use --help and then
> exit.
> 
> diff --git a/osaf/tools/saflog/saflogger/saf_logger.c
> b/osaf/tools/saflog/saflogger/saf_logger.c
> --- a/osaf/tools/saflog/saflogger/saf_logger.c
> +++ b/osaf/tools/saflog/saflogger/saf_logger.c
> @@ -311,14 +311,48 @@ int main(int argc, char *argv[])
>                       logRecord.logHeader.genericHdr.logSeverity =
> get_severity(optarg);
>                       break;
>               case 'h':
> +                     usage();
> +                     exit(EXIT_SUCCESS);
> +                     break;
>               case '?':
>               default:
> -                     usage();
> +                     fprintf(stderr, "Try saflogger -h for more
> information.\n");
>                       exit(EXIT_FAILURE);
>                       break;
>               }
>       }
> 
> +     if (optind >= argc) {
> +             /* No body of log record */
> +     }
> +     else if (optind == argc - 1) {
> +             /* Create body of log record */
> +             int sz;
> +             char *logBuf = NULL;
> +             sz = strlen(argv[optind]);
> +             logBuf = malloc(sz + 64);       /* add space for index/id in
> periodic writes */
> +             strcpy(logBuf, argv[optind]);
> +             logBuffer.logBufSize = sz;
> +             logBuffer.logBuf = (SaUint8T *)logBuf;
> +             logRecord.logBuffer = &logBuffer;
> +     }
> +     else {
> +             fprintf(stderr, "Invalid argument.\n");
> +             fprintf(stderr, "Enclose message in quotation marks \"\" e.g.
> \"");
> +             while (optind < argc)
> +             {
> +                     fprintf(stderr, "%s", argv[optind++]);
> +                     if (optind < argc)
> +                             fprintf(stderr, " ");
> +                     else
> +                             fprintf(stderr, "\"\n");
> +             }
> +             fprintf(stderr, "Try saflogger -h for more information.\n");
> +             exit(EXIT_FAILURE);
> +     }
> +
> +     logStreamName.length = strlen((char *)logStreamName.value);
> +
>       if (logRecord.logHdrType == SA_LOG_NTF_HEADER) {
>               /* Setup some valid values */
>               logRecord.logHeader.ntfHdr.notificationId =
> SA_NTF_IDENTIFIER_UNUSED; @@ -329,19 +363,6 @@ int main(int argc, char
> *argv[])
>               logRecord.logHeader.ntfHdr.eventTime =
> get_current_SaTime();
>       }
> 
> -     logStreamName.length = strlen((char *)logStreamName.value);
> -
> -     /* Create body of log record (if any) */
> -     if (optind < argc) {
> -             int sz;
> -             char *logBuf = NULL;
> -             sz = strlen(argv[optind]);
> -             logBuf = malloc(sz + 64);       /* add space for index/id in
> periodic writes */
> -             strcpy(logBuf, argv[optind]);
> -             logBuffer.logBufSize = sz;
> -             logBuffer.logBuf = (SaUint8T *)logBuf;
> -             logRecord.logBuffer = &logBuffer;
> -     }
> 
>       wait_time = 0;
>       error = saLogInitialize(&logHandle, &logCallbacks, &logVersion);

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to