You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Jiri Daněk (Jira)" <ji...@apache.org> on 2024/01/10 13:39:00 UTC
[jira] [Resolved] (PROTON-2772) [c] Add parameter safety annotations for printf format strings
[ https://issues.apache.org/jira/browse/PROTON-2772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jiri Daněk resolved PROTON-2772.
--------------------------------
Resolution: Fixed
> [c] Add parameter safety annotations for printf format strings
> --------------------------------------------------------------
>
> Key: PROTON-2772
> URL: https://issues.apache.org/jira/browse/PROTON-2772
> Project: Qpid Proton
> Issue Type: Improvement
> Components: proton-c
> Affects Versions: proton-c-0.39.0
> Reporter: Jiri Daněk
> Assignee: Jiri Daněk
> Priority: Major
> Fix For: proton-c-0.40.0
>
>
> There seem to be various mismatched printf format arguments. This is best resolved by annotating the string format parameters so that regular compilation warns on the mismatches as they happen.
> Proton already has some of this, but it is incomplete.
> {noformat}
> ```
> /home/jdanek/repos/qpid/qpid-proton/c/src/core/logger.c: In function ‘pni_logger_log_raw’:
> /home/jdanek/repos/qpid/qpid-proton/c/src/core/logger.c:204:41: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘size_t’ {aka ‘long unsigned int’} [-Werror=format=]
> 204 | pn_fixed_string_addf(&out, "%04x/%04x: ", i, size);
> | ~~~^ ~~~~
> | | |
> | | size_t {aka long unsigned int}
> | unsigned int
> | %04lx
> cc1: all warnings being treated as errors
> ```
> {noformat}
> On windows, we want to enable these optional warning flags
> {noformat}
> "/analyzer"
> "/we6328" # Size mismatch: 'unsigned __int64' passed as _Param_(4) when 'int' is required in call to 'ssl_log'.
> "/we6340" # Mismatch on sign: 'unsigned __int64' passed as _Param_(4) when some signed type is required in call to 'ssl_log'.
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org