Description of problem ---------------------- freeipa fails to build if "-Werror=format-security" flag is used. ... ipa_enrollment.c:320:5: error: format not a string literal and no format arguments [-Werror=format-security] ipa_enrollment.c:347:9: error: format not a string literal and no format arguments [-Werror=format-security] ipa_enrollment.c:360:5: error: format not a string literal and no format arguments [-Werror=format-security] ... We are working on a proposal to enable "-Werror=format-security" for all packages. Once this flag is enabled, GCC will refuse to compile code that could be vulnerable to a string format security flaw. For more details, please see https://fedorahosted.org/fesco/ticket/1185 page. To understand why it is important to fix this, please see https://fedoraproject.org/wiki/Format-Security-FAQ page. How to fix this --------------- The fix for these errors is quite simple. It's a matter of changing a line like, printf(foo); to read, printf("%s", foo); That's it. Please fix this issue in rawhide with a patch (which you should submit to upstream to merge moving forward). Please do a new build with the fix in rawhide. Other releases do not need to be directly fixed, but there should be no harm in pushing out this fix/patch with other needed changes to those branches. In the event you don't fix this bug before the next mass rebuild, provenpackagers may step in and update your package(s) to fix this issue. How reproducible ---------------- Build freeipa-3.3.1-2.fc21.src.rpm with "-Werror=format-security" flag to reproduce the problem. To make this process easier, you can use a modified "redhat-rpm-config" package from http://people.fedoraproject.org/~halfie/artifacts/redhat-rpm-config/ URL. $ sha256sum redhat-rpm-config-9.1.0-56.fc20.* faad7594b2080fe76497d0ce50808c905a93dd7b41c1defdde5ca57e3833d3d2 redhat-rpm-config-9.1.0-56.fc20.noarch.rpm 5aa9357174305c7285ffdbc92d7ffe1c07a8a95d5459b930461308f5aad75413 redhat-rpm-config-9.1.0-56.fc20.src.rpm
I've wrote about this false positive bug on November 21st already to the Fedora development list: ----------------------------------------------------- I think these reports are misleading, at least in FreeIPA case. freeipa-3.3.1-2.fc21.src.rpm/build.log:ipa_enrollment.c:320:5: error: format not a +string literal and no format arguments [-Werror=format-security] freeipa-3.3.1-2.fc21.src.rpm/build.log:ipa_enrollment.c:347:9: error: format not a +string literal and no format arguments [-Werror=format-security] freeipa-3.3.1-2.fc21.src.rpm/build.log:ipa_enrollment.c:360:5: error: format not a +string literal and no format arguments [-Werror=format-security] All three cases are dealing with following lines: LOG("%s", errMesg ? errMesg : "success\n"); LOG("%s", errMesg); LOG("%s", errMesg); where LOG macro expands to slapi_log_error(SLAPI_LOG_PLUGIN, NAME, format, arguments ... ); (SLAPI_LOG_PLUGIN and NAME are constants) as you can see, in all these cases format *is* a string literal and there are exact format arguments passed. ----------------------------------------------------- I intend to close this bug as NOT A BUG or move it instead to gcc because of the false reporting.
(In reply to Alexander Bokovoy from comment #1) > All three cases are dealing with following lines: > LOG("%s", errMesg ? errMesg : "success\n"); > LOG("%s", errMesg); > LOG("%s", errMesg); > > where LOG macro expands to slapi_log_error(SLAPI_LOG_PLUGIN, NAME, > format, arguments ... ); This was already fixed upstream, and you're quoting the fixed sources: https://git.fedorahosted.org/cgit/freeipa.git/commit/daemons/ipa-slapi-plugins/ipa-enrollment/ipa_enrollment.c?id=8c03b1dbcdf75ba76b96ccfcc148afe0e134e2d3 This happened after the last rawhide upload, so it's not reflected in the mass rebuild.
Ok, so we need to backport this commit from git master to ipa-3-3.
I pushed the patch to ipa-3-3 as well to prevent potential regressions in future rawhide builds: https://git.fedorahosted.org/cgit/freeipa.git/commit/?h=ipa-3-3&id=760113c719f0610237bf96ef4dd14c6fd44c4027 I also updated the freeipa rawhide build to the latest upstream version 3.3.3 + included that patch. I did not see these warnings in build.log any more. Thus, I am closing this Bugzilla as fixed.