public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* Re: [PATCH1/1]sqfs: sqfs_tokenize() should fill the tokens list instead of free items
@ 2021-11-02  9:13 jc.w4ng
  0 siblings, 0 replies; 5+ messages in thread
From: jc.w4ng @ 2021-11-02  9:13 UTC (permalink / raw)
  To: Miquel Raynal; +Cc: u-boot@lists.denx.de, Tom Rini



^ permalink raw reply	[flat|nested] 5+ messages in thread
* [PATCH1/1]sqfs: sqfs_tokenize() should fill the tokens list instead of free items
@ 2021-10-16  2:19 Jincheng Wang
  2021-10-26 19:25 ` Tom Rini
  0 siblings, 1 reply; 5+ messages in thread
From: Jincheng Wang @ 2021-10-16  2:19 UTC (permalink / raw)
  To: Tom Rini; +Cc: u-boot

We can delete two lines of code to avoid double free bug, but still a wild
pointers bug.

A test for wild pointers:
    sqfsls host 0  1//2/3//4/5

Fill the tokens list can solve it well.


Signed-off-by: Jincheng Wang <jc.w4ng@gmail.com>
---
 fs/squashfs/sqfs.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/squashfs/sqfs.c b/fs/squashfs/sqfs.c
index e2d91c654c..50d3f8b71e 100644
--- a/fs/squashfs/sqfs.c
+++ b/fs/squashfs/sqfs.c
@@ -303,8 +303,9 @@ static int sqfs_tokenize(char **tokens, int count,
const char *str)
  aux = strtok(!j ? strc : NULL, "/");
  tokens[j] = strdup(aux);
  if (!tokens[j]) {
- for (i = 0; i < j; i++)
- free(tokens[i]);
+ /* fill tokens list to avoid wild pointers being freed*/
+ for (i = j + 1; i < count; i++)
+ tokens[i] = 0;
  ret = -ENOMEM;
  goto free_strc;
  }
-- 
2.27.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-11-02  9:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-02  9:13 [PATCH1/1]sqfs: sqfs_tokenize() should fill the tokens list instead of free items jc.w4ng
  -- strict thread matches above, loose matches on Subject: below --
2021-10-16  2:19 Jincheng Wang
2021-10-26 19:25 ` Tom Rini
2021-10-27  8:17   ` Miquel Raynal
     [not found]     ` <CALO=DHHq4hSsrAUorgxeTGOFh_HjTr00vFaGVEVQytvNiLiEJA@mail.gmail.com>
2021-10-31 10:24       ` Fwd: " Jincheng Wang
2021-11-02  7:11         ` Miquel Raynal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox