summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2020-11-06 22:24:15 +0300
committerMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>2020-11-09 14:07:25 +0100
commit2cfd72f81cf69c2659c6d2121308b55416229beb (patch)
treeeb7dcc99c34c3ccf2b90aed6f2185fbb9780a50a
parentffdf726db7fb02a96396dcb8deb7436b4a47dd14 (diff)
downloadlinux-2cfd72f81cf69c2659c6d2121308b55416229beb.tar.gz
linux-2cfd72f81cf69c2659c6d2121308b55416229beb.tar.bz2
linux-2cfd72f81cf69c2659c6d2121308b55416229beb.zip
auxdisplay: fix use after free in lcd2s_i2c_remove()
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>
-rw-r--r--drivers/auxdisplay/lcd2s.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/auxdisplay/lcd2s.c b/drivers/auxdisplay/lcd2s.c
index cfa5f86deeef..3eb7f04db6cb 100644
--- a/drivers/auxdisplay/lcd2s.c
+++ b/drivers/auxdisplay/lcd2s.c
@@ -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;
}