summaryrefslogtreecommitdiff
path: root/drivers/media/firewire/firedtv-fw.c
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2020-09-20 12:01:37 +0300
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-09-27 12:29:45 +0300
commitb28e32798c78a346788d412f1958f36bb760ec03 (patch)
treed198744fe253817892feaa1c92619096c180e2cd /drivers/media/firewire/firedtv-fw.c
parent8c3e0f67df6c9bcb683e7417faffe74f345da77d (diff)
downloadlinux-b28e32798c78a346788d412f1958f36bb760ec03.tar.xz
media: firewire: fix memory leak
Fix memory leak in node_probe. Signed-off-by: Pavel Machek (CIP) <pavel@denx.de> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/firewire/firedtv-fw.c')
-rw-r--r--drivers/media/firewire/firedtv-fw.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/firewire/firedtv-fw.c b/drivers/media/firewire/firedtv-fw.c
index 3f1ca40b9b98..8a8585261bb8 100644
--- a/drivers/media/firewire/firedtv-fw.c
+++ b/drivers/media/firewire/firedtv-fw.c
@@ -272,8 +272,10 @@ static int node_probe(struct fw_unit *unit, const struct ieee1394_device_id *id)
name_len = fw_csr_string(unit->directory, CSR_MODEL,
name, sizeof(name));
- if (name_len < 0)
- return name_len;
+ if (name_len < 0) {
+ err = name_len;
+ goto fail_free;
+ }
for (i = ARRAY_SIZE(model_names); --i; )
if (strlen(model_names[i]) <= name_len &&
strncmp(name, model_names[i], name_len) == 0)