[systemd-devel] [PATCH 2/2] tty-ask-password-agent: fix CID 996261
Susant Sahani
susant at redhat.com
Mon Nov 17 10:51:29 PST 2014
On 11/18/2014 12:06 AM, Greg KH wrote:
> On Mon, Nov 17, 2014 at 06:47:33PM +0100, Ronny Chevalier wrote:
>> 2014-11-17 18:31 GMT+01:00 Greg KH <gregkh at linuxfoundation.org>:
>>> On Mon, Nov 17, 2014 at 10:44:14PM +0530, Susant Sahani wrote:
>>>> On 11/17/2014 10:39 PM, Greg KH wrote:
>>>>> On Mon, Nov 17, 2014 at 10:36:53PM +0530, Susant Sahani wrote:
>>>>>> On 11/17/2014 10:26 PM, Greg KH wrote:
>>>>>>> On Mon, Nov 17, 2014 at 04:28:58PM +0530, Susant Sahani wrote:
>>>>>>>> ---
>>>>>>>> src/tty-ask-password-agent/tty-ask-password-agent.c | 2 +-
>>>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>>>>
>>>>>>>> diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c
>>>>>>>> index e6dc84b..1fc792b 100644
>>>>>>>> --- a/src/tty-ask-password-agent/tty-ask-password-agent.c
>>>>>>>> +++ b/src/tty-ask-password-agent/tty-ask-password-agent.c
>>>>>>>> @@ -376,8 +376,8 @@ static int wall_tty_block(void) {
>>>>>>>> return -ENOMEM;
>>>>>>>>
>>>>>>>> mkdir_parents_label(p, 0700);
>>>>>>>> - mkfifo(p, 0600);
>>>>>>>>
>>>>>>>> + (void)mkfifo(p, 0600);
>>>>>>>
>>>>>>> You really aren't "fixing" anything in these patches, just merely
>>>>>>> papering over the Coverity issues. Which is fine, if you really want to
>>>>>>> do that, but don't think it's anything other than that...
>>>>>>
>>>>>> Yes my intention is to for coverity only Any way next line 'open' handling
>>>>>> the error case .
>>>>>
>>>>> I'm sorry, but I don't understand this sentance at all, can you rephrase
>>>>> it?
>>>>>
>>>>
>>>> Sorry let me rephrase it. This patch only for coverity . The next like of
>>>> mkfifo is open .
>>>>
>>>> (void)mkfifo(p, 0600);
>>>> fd = open(p, O_RDONLY|O_CLOEXEC|O_NONBLOCK|O_NOCTTY);
>>>> if (fd < 0)
>>>> return -errno;
>>>>
>>>> and open is handling the failure.
>>>
>>> Then coverity should be fixed, don't paper over stupid bugs in tools for
>>> no reason.
>> I disagree.
>>
>> Coverity can not infer this in any possible way. How can coverity
>> infer that we do not care about the return value of mkfifo ?
>> It really depends of the semantic here.
>
> Coverity is a "semantic checker", why can't it be changed to determine
> if mkfifo() is followed by open() and an error check, that it is safe
> code? It does this for lots of other common patterns.
For now mkfifo/mkdir/ioctl coverity is not that smart or is it ? From
the behaviour of coverity It looks for single statement in these
scenario . The mkfifo could be one function then this fifo can be used
some other function like open or read/write. There are several scenario
would be like this .
Susant
More information about the systemd-devel
mailing list