Merge pull request #16 from lioncash/vaend

soc: Add missing va_end() calls in fcntl.
This commit is contained in:
fincs 2014-10-27 00:15:22 +01:00
commit d113e21434

View File

@ -648,7 +648,6 @@ int fcntl(int sockfd, int cmd, ...)
u32 *cmdbuf = getThreadCommandBuffer(); u32 *cmdbuf = getThreadCommandBuffer();
va_list args; va_list args;
va_start(args, cmd);
if(cmd!=F_GETFL && cmd!=F_SETFL) if(cmd!=F_GETFL && cmd!=F_SETFL)
{ {
@ -656,6 +655,7 @@ int fcntl(int sockfd, int cmd, ...)
return -1; return -1;
} }
va_start(args, cmd);
if(cmd==F_SETFL) if(cmd==F_SETFL)
{ {
arg = va_arg(args, int); arg = va_arg(args, int);
@ -663,11 +663,13 @@ int fcntl(int sockfd, int cmd, ...)
if(arg && arg!=O_NONBLOCK) if(arg && arg!=O_NONBLOCK)
{ {
SOCU_errno = -EINVAL; SOCU_errno = -EINVAL;
va_end(args);
return -1; return -1;
} }
if(arg==O_NONBLOCK)arg = 0x4; if(arg==O_NONBLOCK)arg = 0x4;
} }
va_end(args);
cmdbuf[0] = 0x001300C2; cmdbuf[0] = 0x001300C2;
cmdbuf[1] = (u32)sockfd; cmdbuf[1] = (u32)sockfd;