diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2020-11-06 22:24:15 +0300 |
---|---|---|
committer | Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> | 2020-11-09 14:07:25 +0100 |
commit | 2cfd72f81cf69c2659c6d2121308b55416229beb (patch) | |
tree | eb7dcc99c34c3ccf2b90aed6f2185fbb9780a50a | |
parent | ffdf726db7fb02a96396dcb8deb7436b4a47dd14 (diff) | |
download | linux-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.c | 2 |
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; } |