From aeb3944f0afe927d59ba55afa31949ae4f41f885 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Fri, 6 Oct 2017 08:27:38 -0600 Subject: [PATCH] fs/vfs and net/socket: fcntl() is not return success fail for F_SETFL. Reported by Jussi Kivilinna. --- fs/vfs/fs_fcntl.c | 4 +++- net/socket/net_vfcntl.c | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/vfs/fs_fcntl.c b/fs/vfs/fs_fcntl.c index e1bf25bf1f0..c24305a0f87 100644 --- a/fs/vfs/fs_fcntl.c +++ b/fs/vfs/fs_fcntl.c @@ -1,7 +1,8 @@ /**************************************************************************** * fs/vfs/fs_fcntl.c * - * Copyright (C) 2009, 2012-2014, 2016-2017 Gregory Nutt. All rights reserved. + * Copyright (C) 2009, 2012-2014, 2016-2017 Gregory Nutt. All rights + * reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -153,6 +154,7 @@ int file_vfcntl(FAR struct file *filep, int cmd, va_list ap) oflags &= FFCNTL; filep->f_oflags &= ~FFCNTL; filep->f_oflags |= oflags; + ret = OK; } break; diff --git a/net/socket/net_vfcntl.c b/net/socket/net_vfcntl.c index 3833908af3a..a65862aa697 100644 --- a/net/socket/net_vfcntl.c +++ b/net/socket/net_vfcntl.c @@ -195,10 +195,13 @@ int net_vfcntl(int sockfd, int cmd, va_list ap) { psock->s_flags &= ~_SF_NONBLOCK; } + + ret = OK; } else { nerr("ERROR: Non-blocking not supported for this socket\n"); + ret = -ENOSYS; } } break;