]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
auxdisplay: fix use after free in lcd2s_i2c_remove()
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 6 Nov 2020 19:24:15 +0000 (22:24 +0300)
committerMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Mon, 9 Nov 2020 13:07:25 +0000 (14:07 +0100)
The kfree() needs to be moved down a line to prevent a use after free.

Fixes: 8c9108d014c5 ("auxdisplay: add a driver for lcd2s character display")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
drivers/auxdisplay/lcd2s.c

index cfa5f86deeef8cc3c4bbee11f3ce98c2090c0fb1..3eb7f04db6cbed289aa1bcbfbae7222348d1147c 100644 (file)
@@ -348,8 +348,8 @@ static int lcd2s_i2c_remove(struct i2c_client *i2c)
 {
        struct lcd2s_data *lcd2s = i2c_get_clientdata(i2c);
 
-       kfree(lcd2s->charlcd);
        charlcd_unregister(lcd2s->charlcd);
+       kfree(lcd2s->charlcd);
        return 0;
 }