mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH v2] complete: add var and device param complete support
Date: Fri, 10 Jun 2011 10:00:32 +0200	[thread overview]
Message-ID: <20110610080032.GV23771@pengutronix.de> (raw)
In-Reply-To: <20110610070342.GP17584@game.jcrosoft.org>

On Fri, Jun 10, 2011 at 09:03:42AM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > >  
> > > +static int device_param_complete(char begin, struct device_d *dev,
> > > +				 struct string_list *sl, char *instr)
> > > +{
> > > +	struct param_d *param;
> > > +	char cmd[128];
> > > +	char *tmp = cmd;
> > > +	int len, len2;
> > > +
> > > +	len = strlen(instr);
> > > +	if (begin) {
> > > +		tmp[0] = begin;
> > > +		tmp++;
> > > +	}
> > > +	strcpy(tmp, dev_name(dev));
> > > +	len2 = strlen(dev_name(dev));
> > > +	tmp += len2;
> > > +	tmp[0] = '.';
> > > +	tmp++;
> > > +
> > > +	list_for_each_entry(param, &dev->parameters, list) {
> > > +		memset(tmp, 0x0, 128 - (int)(tmp - cmd));
> > > +		if (!strncmp(instr, param->name, len)) {
> > > +			strcpy(tmp, param->name);
> > > +			len2 = strlen(param->name);
> > > +			if (begin)
> > > +				tmp[len2] = ' ';
> > > +			else
> > > +				tmp[len2] = '=';
> > > +			tmp[len2 + 1] = 0;
> > > +			string_list_add(sl, cmd);
> > > +		}
> > > +	}
> > 
> > The fixed length arrays might overflow. Maybe not in this function, but
> > when this becomes a template maybe in other functions. Looking at it
> > this code could really improve with sprintf, more specifically
> > string_list_asprintf. I'll post a patch in a minute.
> can we do it in a second step?

No, this creates more work for all of us. Consider your code may have
bugs, then by applying this patch we will expose them to the users which
will cause bug reports we have to work on. Then we switch to
string_list_asprintf which may have bugs aswell.

I know you have limited time and for this reason you want to see your
patches upstream asap, but this can't be the excuse for delaying
cleanups as we *all* have limited time.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  reply	other threads:[~2011-06-10  8:00 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-09 14:50 pull request " Jean-Christophe PLAGNIOL-VILLARD
2011-06-09 14:55 ` [PATCH 1/6] complete: add var and device param " Jean-Christophe PLAGNIOL-VILLARD
2011-06-10  1:29   ` [PATCH v2] " Jean-Christophe PLAGNIOL-VILLARD
2011-06-10  6:53     ` Sascha Hauer
2011-06-10  7:03       ` Jean-Christophe PLAGNIOL-VILLARD
2011-06-10  8:00         ` Sascha Hauer [this message]
2011-06-09 14:55 ` [PATCH 2/6] complete: add generic command complete framework Jean-Christophe PLAGNIOL-VILLARD
2011-06-09 14:55 ` [PATCH 3/6] complete: add device name complete support for devinfo Jean-Christophe PLAGNIOL-VILLARD
2011-06-09 14:55 ` [PATCH 4/6] complete: add help complete support Jean-Christophe PLAGNIOL-VILLARD
2011-06-09 14:55 ` [PATCH 5/6] complete: add empty " Jean-Christophe PLAGNIOL-VILLARD
2011-06-09 14:55 ` [PATCH 6/6] complete: add eth interface " Jean-Christophe PLAGNIOL-VILLARD
2011-06-09 22:46 ` pull request " Hubert Feurstein
2011-06-10  1:25   ` Jean-Christophe PLAGNIOL-VILLARD
2011-06-10  1:30 ` Jean-Christophe PLAGNIOL-VILLARD

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110610080032.GV23771@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=plagnioj@jcrosoft.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox