Author: Julia Lawall <julia@diku.dk> sizeof(viafb_gamma_table) is just the size of the pointer. This is changed to the size used when calling kmalloc to initialize the pointer. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression *x; expression f; type T; @@ *f(…,(T)x,…) // Signed-off-by: Julia Lawall …
Catégorie : Coccinelle
Dec 16 2009
drivers/video: Move dereference after NULL test
Author: Julia Lawall <julia@diku.dk> If the NULL test on fbi is needed, then the dereference should be after the NULL test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // @match exists@ expression x, E; identifier fld; @@ * x->fld … when != \(x = E\|&x\) * x …
Dec 15 2009
drivers/mmc: Move dereference after NULL test
Author: Julia Lawall <julia@diku.dk> If the NULL test on mrq is needed, then the derefernce should be after the NULL test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // @match exists@ expression x, E; identifier fld; @@ * x->fld … when != \(x = E\|&x\) * x …
Dec 15 2009
tree-wide: convert open calls to remove spaces to skip_spaces() lib function
Author: André Goddard Rosa <andre.goddard@gmail.com> Makes use of skip_spaces() defined in lib/string.c for removing leading spaces from strings all over the tree. It decreases lib.a code size by 47 bytes and reuses the function tree-wide: text data bss dec hex filename 64688 584 592 65864 10148 (TOTALS-BEFORE) 64641 584 592 65817 10119 (TOTALS-AFTER) Also, while …
Dec 15 2009
drivers/cpuidle: Move dereference after NULL test
Author: Julia Lawall <julia@diku.dk> It does not seem possible that ldev can be NULL, so drop the unnecessary test. If ldev can somehow be NULL, then the initialization of last_idx should be moved below the test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // @match exists@ expression …
Dec 13 2009
drivers/net/wireless: Correct code taking the size of a pointer
Author: Julia Lawall <julia@diku.dk> sizeof(iv16) and sizeof(iv32) are the sizes of pointers. Change them to the size of the copied data. Furthermore, iveiv_entry is a local structure that has just been initialized and is not visible outside this function. Thus, there would seem to be no point to copy data into it. The order of …
Dec 13 2009
Staging: batman-adv: introduce missing kfree
Author: Julia Lawall <julia@diku.dk> Error handling code following a kzalloc should free the allocated data. Similarly for usb-alloc urb. The semantic match that finds the first problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(…); … if …
Dec 13 2009
ASoC: Correct code taking the size of a pointer
Author: Julia Lawall <julia@diku.dk> sizeof(codec->reg_cache) is just the size of the pointer. Elsewhere in the file, codec->reg_cache is used with sizeof(wm8900_reg_defaults), so the code is changed to do the same here. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression *x; expression f; type T; @@ …
Dec 13 2009
ALSA: sound/isa/gus: Correct code taking the size of a pointer
Author: Julia Lawall <julia@diku.dk> sizeof(share_id) is just the size of the pointer. On the other hand, block->share_id is an array, so its size seems more appropriate. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression *x; expression f; type T; @@ *f(…,(T)x,…) // Signed-off-by: Julia Lawall …
Dec 13 2009
V4L/DVB (13685): Correct code taking the size of a pointer
Author: Julia Lawall <julia@diku.dk> sizeof(print_buf) is just the size of the pointer. Change it to the size used in the allocation of print_buf earlier in the same function. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression *x; expression f; type T; @@ *f(…,(T)x,…) // Cc: …