2009-02-23 16:20:57

by Jim Meyering

[permalink] [raw]
Subject: [PATCH] Don't dereference NULL upon slashless module dependency line.


* probe.c (check_for_modules): Skip current line if it has no slash.

Signed-off-by: Jim Meyering <[email protected]>
---
I found this by inspection while looking for the cause of
a recent rawhide/nash segfault.

lib/blkid/probe.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c
index 76763ae..f5fff6b 100644
--- a/lib/blkid/probe.c
+++ b/lib/blkid/probe.c
@@ -225,8 +225,9 @@ static int check_for_modules(const char *fs_name)
*cp = 0;
else
continue;
- if ((cp = strrchr(buf, '/')) != NULL)
- cp++;
+ if ((cp = strrchr(buf, '/')) == NULL)
+ continue;
+ cp++;
i = strlen(cp);
if (i > 3) {
t = cp + i - 3;
--
1.6.2.rc1.256.g58a87


2009-02-26 22:18:34

by Eric Sandeen

[permalink] [raw]
Subject: Re: [PATCH] Don't dereference NULL upon slashless module dependency line.

Jim Meyering wrote:
> * probe.c (check_for_modules): Skip current line if it has no slash.
>
> Signed-off-by: Jim Meyering <[email protected]>
> ---
> I found this by inspection while looking for the cause of
> a recent rawhide/nash segfault.
>
> lib/blkid/probe.c | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c
> index 76763ae..f5fff6b 100644
> --- a/lib/blkid/probe.c
> +++ b/lib/blkid/probe.c
> @@ -225,8 +225,9 @@ static int check_for_modules(const char *fs_name)
> *cp = 0;
> else
> continue;
> - if ((cp = strrchr(buf, '/')) != NULL)
> - cp++;
> + if ((cp = strrchr(buf, '/')) == NULL)
> + continue;
> + cp++;
> i = strlen(cp);
> if (i > 3) {
> t = cp + i - 3;
> --

oops, I missed that Jim sent this (or just didn't remember w/ my
goldfish brain)

OTOH the other patch I sent is probably a bit better, it gets both
pieces of duplicated(!) code, and doeesn't skip these lines in
modules.dep, it just skips the pre-"/"-stripping ...

-Eric

2009-03-09 03:15:43

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] Don't dereference NULL upon slashless module dependency line.

On Mon, Feb 23, 2009 at 05:20:47PM +0100, Jim Meyering wrote:
>
> * probe.c (check_for_modules): Skip current line if it has no slash.

Thanks for pointing this out; I've used Eric's patch to fix this
issue.

- Ted