diff mbox series

[OpenWrt-Devel,fstools] block: fix segfault triggered by non-autofs mounts

Message ID 20200511234549.GA574432@makrotopia.org
State Accepted
Delegated to: Daniel Golle
Headers show
Series [OpenWrt-Devel,fstools] block: fix segfault triggered by non-autofs mounts | expand

Commit Message

Daniel Golle May 11, 2020, 11:45 p.m. UTC
Program received signal SIGSEGV, Segmentation fault.
main_autofs (argv=<optimized out>, argc=<optimized out>)
    at fstools-2020-05-06-eec16e2f/block.c:1193
1193:    if (!m->autofs && (mp = find_mount_point(pr->dev))) {

Fixes: 9ab936d ("block(d): always call hotplug.d "mount" scripts from blockd")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
 block.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Rafał Miłecki May 12, 2020, 5:54 a.m. UTC | #1
On 2020-05-12 01:45, Daniel Golle wrote:
> Program received signal SIGSEGV, Segmentation fault.
> main_autofs (argv=<optimized out>, argc=<optimized out>)
>     at fstools-2020-05-06-eec16e2f/block.c:1193
> 1193:    if (!m->autofs && (mp = find_mount_point(pr->dev))) {
> 
> Fixes: 9ab936d ("block(d): always call hotplug.d "mount" scripts from 
> blockd")
> Signed-off-by: Daniel Golle <daniel@makrotopia.org>

Thanks! Please push it asap!
Kevin 'ldir' Darbyshire-Bryant May 12, 2020, 7:13 a.m. UTC | #2
> On 12 May 2020, at 06:54, Rafał Miłecki <rafal@milecki.pl> wrote:
> 
> On 2020-05-12 01:45, Daniel Golle wrote:
>> Program received signal SIGSEGV, Segmentation fault.
>> main_autofs (argv=<optimized out>, argc=<optimized out>)
>>    at fstools-2020-05-06-eec16e2f/block.c:1193
>> 1193:    if (!m->autofs && (mp = find_mount_point(pr->dev))) {
>> Fixes: 9ab936d ("block(d): always call hotplug.d "mount" scripts from blockd")
>> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
> 
> Thanks! Please push it asap!

Fixes for me.

Acked-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>


Cheers,

Kevin D-B

gpg: 012C ACB2 28C6 C53E 9775  9123 B3A2 389B 9DE2 334A
diff mbox series

Patch

diff --git a/block.c b/block.c
index 9458d52..569bf56 100644
--- a/block.c
+++ b/block.c
@@ -1190,7 +1190,7 @@  static int main_autofs(int argc, char **argv)
 				continue;
 
 			blockd_notify("hotplug", pr->dev, m, pr);
-			if (!m->autofs && (mp = find_mount_point(pr->dev))) {
+			if ((!m || !m->autofs) && (mp = find_mount_point(pr->dev))) {
 				blockd_notify("mount", pr->dev, NULL, NULL);
 				free(mp);
 			}