From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vignesh R Date: Tue, 20 Oct 2015 15:22:00 +0530 Subject: [U-Boot] [PATCH 1/2] dfu: dfu_sf: Pass duplicate devstr to parse_dev In-Reply-To: <1445334721-10839-1-git-send-email-vigneshr@ti.com> References: <1445334721-10839-1-git-send-email-vigneshr@ti.com> Message-ID: <1445334721-10839-2-git-send-email-vigneshr@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de parse_dev() alters the string pointed by devstr parameter. Due to this subsequent parsing of sf entities will fail, as string pointed by devstr is no longer valid sf dev arguments. Fix this by passing pointer to the copy of the string to parse_dev instead of pointer to the actual devstr. Signed-off-by: Vignesh R --- drivers/dfu/dfu_sf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/dfu/dfu_sf.c b/drivers/dfu/dfu_sf.c index 7646c6b7270c..9702eeea202a 100644 --- a/drivers/dfu/dfu_sf.c +++ b/drivers/dfu/dfu_sf.c @@ -115,8 +115,10 @@ static struct spi_flash *parse_dev(char *devstr) int dfu_fill_entity_sf(struct dfu_entity *dfu, char *devstr, char *s) { char *st; + char *devstr_bkup = strdup(devstr); - dfu->data.sf.dev = parse_dev(devstr); + dfu->data.sf.dev = parse_dev(devstr_bkup); + free(devstr_bkup); if (!dfu->data.sf.dev) return -ENODEV; -- 2.6.2