Message ID | 1337160091-21429-1-git-send-email-colin.king@canonical.com |
---|---|
State | Rejected |
Headers | show |
On 16/05/12 10:21, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > src/lib/src/fwts_args.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/src/lib/src/fwts_args.c b/src/lib/src/fwts_args.c > index b5ef3e0..b9ae7dc 100644 > --- a/src/lib/src/fwts_args.c > +++ b/src/lib/src/fwts_args.c > @@ -101,6 +101,7 @@ int fwts_args_parse(fwts_framework *fw, int argc, char * const argv[]) > int option_index; > int ret = FWTS_OK; > char *short_options = NULL; > + ssize_t short_options_len = 0; > > long_options = calloc(1, (total_options + 1) * sizeof(struct option)); > if (long_options == NULL) { > @@ -126,7 +127,7 @@ int fwts_args_parse(fwts_framework *fw, int argc, char * const argv[]) > if (short_name && (len = strlen(short_name)) > 0) { > if (short_options) { > short_options = realloc(short_options, > - strlen(short_options) + len + 1); > + short_options_len + len + 1); > if (short_options == NULL) { > fwts_log_error(fw, > "Out of memory " > @@ -134,6 +135,7 @@ int fwts_args_parse(fwts_framework *fw, int argc, char * const argv[]) > return FWTS_ERROR; > } > strcat(short_options, short_name); > + short_options_len += (len + 1); > } else { > short_options = calloc(1, len + 1); > if (short_options == NULL) { > @@ -143,6 +145,7 @@ int fwts_args_parse(fwts_framework *fw, int argc, char * const argv[]) > return FWTS_ERROR; > } > strcpy(short_options, short_name); > + short_options_len += (len + 1); > } > } > } > Please ignore, I sent out the wrong patch. NACK
diff --git a/src/lib/src/fwts_args.c b/src/lib/src/fwts_args.c index b5ef3e0..b9ae7dc 100644 --- a/src/lib/src/fwts_args.c +++ b/src/lib/src/fwts_args.c @@ -101,6 +101,7 @@ int fwts_args_parse(fwts_framework *fw, int argc, char * const argv[]) int option_index; int ret = FWTS_OK; char *short_options = NULL; + ssize_t short_options_len = 0; long_options = calloc(1, (total_options + 1) * sizeof(struct option)); if (long_options == NULL) { @@ -126,7 +127,7 @@ int fwts_args_parse(fwts_framework *fw, int argc, char * const argv[]) if (short_name && (len = strlen(short_name)) > 0) { if (short_options) { short_options = realloc(short_options, - strlen(short_options) + len + 1); + short_options_len + len + 1); if (short_options == NULL) { fwts_log_error(fw, "Out of memory " @@ -134,6 +135,7 @@ int fwts_args_parse(fwts_framework *fw, int argc, char * const argv[]) return FWTS_ERROR; } strcat(short_options, short_name); + short_options_len += (len + 1); } else { short_options = calloc(1, len + 1); if (short_options == NULL) { @@ -143,6 +145,7 @@ int fwts_args_parse(fwts_framework *fw, int argc, char * const argv[]) return FWTS_ERROR; } strcpy(short_options, short_name); + short_options_len += (len + 1); } } }