Message ID | 567A6CDB.4030703@users.sourceforge.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, 23 Dec 2015, SF Markus Elfring wrote: > From: Markus Elfring <elfring@users.sourceforge.net> > Date: Tue, 22 Dec 2015 22:32:07 +0100 > > This issue was detected by using the Coccinelle software. > > Let us return directly if a memory allocation failed. > > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> > --- > block/partitions/ldm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/block/partitions/ldm.c b/block/partitions/ldm.c > index e507cfb..a50385c 100644 > --- a/block/partitions/ldm.c > +++ b/block/partitions/ldm.c > @@ -433,7 +433,7 @@ static bool ldm_validate_tocblocks(struct parsed_partitions *state, > tb[1] = kmalloc(sizeof(*tb[1]) * 3, GFP_KERNEL); > if (!tb[1]) { > ldm_crit("Out of memory."); > - goto err; > + return false; The ldm_crit, which is just a printk, is also not necessary, because kmalloc already generates backtrace information on failure. So you could clean up the whole thing at once. julia > } > tb[2] = (struct tocblock*)((u8*)tb[1] + sizeof(*tb[1])); > tb[3] = (struct tocblock*)((u8*)tb[2] + sizeof(*tb[2])); > -- > 2.6.3 > > -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Wed, 23 Dec 2015 17:32:12 +0100
Several update suggestions were taken into account
from static source code analysis.
Markus Elfring (5):
One function call less in ldm_validate_tocblocks() after error detection
Delete extra log messages for memory allocation failures
One function call less in ldm_partition() after error detection
Less function calls in ldm_validate_privheads() after error detection
Fine-tuning for the source code formatting
block/partitions/ldm.c | 455 +++++++++++++++++++++++++------------------------
1 file changed, 236 insertions(+), 219 deletions(-)
diff --git a/block/partitions/ldm.c b/block/partitions/ldm.c index e507cfb..a50385c 100644 --- a/block/partitions/ldm.c +++ b/block/partitions/ldm.c @@ -433,7 +433,7 @@ static bool ldm_validate_tocblocks(struct parsed_partitions *state, tb[1] = kmalloc(sizeof(*tb[1]) * 3, GFP_KERNEL); if (!tb[1]) { ldm_crit("Out of memory."); - goto err; + return false; } tb[2] = (struct tocblock*)((u8*)tb[1] + sizeof(*tb[1])); tb[3] = (struct tocblock*)((u8*)tb[2] + sizeof(*tb[2]));