>>> A common type of bug to be aware of is "one err bugs" which look like this:
>>>
>>> -    err:
>>> +     err:
>>>          kfree(foo->bar);
>>>          kfree(foo);
>>>          return ret;
>>>
>>>  The bug in this code is that on some exit paths "foo" is NULL.  Normally 
>>> the
>>
>> ...except that kfree() can handle null pointers just fine, so this isn't
>> actually a bug, right?  Someday when somebody has time it would be good to
>> come up with a better example.
> 
> But if foo is NULL,

An important condition …


> foo->bar is not NULL

I wonder about this information. Which run-time environment will provide
this behaviour?


> and so kfree will have a problem with it.

I find that the parameter evaluation will result in side effects
(because of a null pointer access) which are usually unwanted.
So the execution of this function call will eventually not start.


> So this is a bug.

How do you think about further software development possibilities to improve
corresponding exception handling?

How much can the selection of jump labels influence the software design?

Regards,
Markus
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to