Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1783e60f authored by Julia Lawall's avatar Julia Lawall Committed by Martin Schwidefsky
Browse files

[S390] tape_3590.c: introduce missing kfree

The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/

)

@r exists@
expression E,E1;
statement S;
position p1,p2,p3;
@@

E =@p1 \(kmalloc\|kcalloc\|kzalloc\)(...)
... when != E = E1
if (E == NULL || ...) S
... when != E = E1
if@p2 (...) {
 ... when != kfree(E)
 }
... when != E = E1
kfree@p3(E);

@forall@
position r.p2;
expression r.E;
int E1 != 0;
@@

* if@p2 (...) {
 ... when != kfree(E)
     when strict
return E1; }

Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent b57838ea
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1598,7 +1598,7 @@ tape_3590_setup_device(struct tape_device *device)
	rc = tape_3590_read_dev_chars(device, rdc_data);
	if (rc) {
		DBF_LH(3, "Read device characteristics failed!\n");
		goto fail_kmalloc;
		goto fail_rdc_data;
	}
	rc = tape_std_assign(device);
	if (rc)