apache
"Misspelling of feature name induces undeclared struct field
Even if RLIMIT_NPROC is enabled the field limits of cgid_req_t will not be declared, since it is guarded by RLMIT_NPROC (missing an I). But this field is used by the send_req function if RLIMIT_NPROC is enabled."
Bug fixed by commit d0040a07aec
Type | UndeclaredIdentifier |
Config | "RLIMIT_NPROC && !RLIMIT_CPU && !RLIMIT_DATA && !RLIMIT_VMEM && !RLIMIT_AS" (5th degree) |
Fix-in | mapping |
Location | server/ |
#include <stdio.h> #include <stdlib.h> #if defined (RLIMIT_CPU) || defined (RLMIT_NPROC) || defined (RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS) int limits; #endif void send_req() { #ifdef RLIMIT_NPROC limits = (rand() % 2) ? 1 : 0; // ERROR: limits not declared printf("%d", limits); #endif } int main(void) { send_req(); return 0; }
diff --git a/apache/simple/d0040a0.c b/apache/simple/d0040a0.c --- a/apache/simple/d0040a0.c +++ b/apache/simple/d0040a0.c @@ -1,7 +1,7 @@ #include <stdio.h> #include <stdlib.h> -#if defined (RLIMIT_CPU) || defined (RLMIT_NPROC) || defined (RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS) +#if defined (RLIMIT_CPU) || defined (RLIMIT_NPROC) || defined (RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS) int limits; #endif
. modules/generators/mod_cgid.c:206: #if defined (RLIMIT_CPU) || defined (RLMIT_NPROC) || defined (RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS) . modules/generators/mod_cgid.c:207: cgid_rlimit_t limits; . call modules/generators/mod_cgid.c :470:send_req() . modules/generators/mod_cgid.c:550: #ifdef RLIMIT_NPROC . ERROR modules/generators/mod_cgid.c:552: req.limits.limit_nproc = *(core_conf->limit_nproc);