axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Blough (Jira)" <j...@apache.org>
Subject [jira] [Reopened] (AXIS2C-1467) Dangerous macros defs in axutil_unix.h and axutil_windows.h
Date Tue, 07 Apr 2020 16:37:00 GMT

     [ https://issues.apache.org/jira/browse/AXIS2C-1467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Bill Blough reopened AXIS2C-1467:
---------------------------------

> Dangerous macros defs in axutil_unix.h and axutil_windows.h
> -----------------------------------------------------------
>
>                 Key: AXIS2C-1467
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1467
>             Project: Axis2-C
>          Issue Type: Improvement
>    Affects Versions: 1.6.0, Current (Nightly)
>            Reporter: Olivier Mengué
>            Priority: Trivial
>              Labels: axutil, macro, patch, unix
>             Fix For: Current (Nightly)
>
>         Attachments: AXIS2C-1467_macros.patch
>
>
> Same macros in axutil_unix.h have dangerous definitions:
> - ';' at the end of a definition that is defined like a function
> - multiple statement without enclosing block
> Those mistakes can be dangerous when the macro is called in the "then" part of an "if"
statement.
> Examples:
> #define AXIS2_CLOSE_SOCKET_ON_EXIT(sock)    fcntl(sock,F_SETFD, FD_CLOEXEC);
> #define AXIS2_UNZOPEN2(zipfilename,ffunc) unzOpen2(zipfilename,NULL); memset(&ffunc,
0, sizeof(ffunc));
> The first error is fixed by removing the ';'. The second one by enclosing the definition
in "do { ... } while (0)".



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: c-dev-help@axis.apache.org


Mime
View raw message