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
