CWE134_Uncontrolled_Format_String__char_environment_vfprintf_84_goodB2G::CWE134_Uncontrolled_Format_String__char_environment_vfprintf_84_goodB2G(char * dataCopy) { data = dataCopy; { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, 100-dataLen-1); } } }
CWE23_Relative_Path_Traversal__char_environment_fopen_84_bad::CWE23_Relative_Path_Traversal__char_environment_fopen_84_bad(char * dataCopy) { data = dataCopy; { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, FILENAME_MAX-dataLen-1); } } }
wchar_t * CWE78_OS_Command_Injection__wchar_t_environment_w32_spawnv_61b_badSource(wchar_t * data) { { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 100-dataLen-1); } } return data; }
CWE36_Absolute_Path_Traversal__wchar_t_environment_ofstream_84_bad::CWE36_Absolute_Path_Traversal__wchar_t_environment_ofstream_84_bad(wchar_t * dataCopy) { data = dataCopy; { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, FILENAME_MAX-dataLen-1); } } }
static wchar_t * badSource(wchar_t * data) { { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 100-dataLen-1); } } return data; }
/* goodB2G() uses the BadSource with the GoodSink */ wchar_t * CWE134_Uncontrolled_Format_String__wchar_t_environment_vprintf_61b_goodB2GSource(wchar_t * data) { { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 100-dataLen-1); } } return data; }
CWE78_OS_Command_Injection__char_environment_execlp_84_bad::CWE78_OS_Command_Injection__char_environment_execlp_84_bad(char * dataCopy) { data = dataCopy; { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, 100-dataLen-1); } } }
char * badSource(char * data) { { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, FILENAME_MAX-dataLen-1); } } return data; }
CWE114_Process_Control__w32_wchar_t_environment_84_bad::CWE114_Process_Control__w32_wchar_t_environment_84_bad(wchar_t * dataCopy) { data = dataCopy; { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 100-dataLen-1); } } }
CWE78_OS_Command_Injection__wchar_t_environment_w32_execvp_83_bad::CWE78_OS_Command_Injection__wchar_t_environment_w32_execvp_83_bad(wchar_t * dataCopy) { data = dataCopy; { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 100-dataLen-1); } } }
CWE134_Uncontrolled_Format_String__wchar_t_environment_snprintf_83_bad::CWE134_Uncontrolled_Format_String__wchar_t_environment_snprintf_83_bad(wchar_t * dataCopy) { data = dataCopy; { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 100-dataLen-1); } } }
/* Clear both lists. Called without the allocation lock held. */ GC_INNER void GC_print_all_errors(void) { static GC_bool printing_errors = FALSE; GC_bool have_errors; unsigned i; DCL_LOCK_STATE; LOCK(); if (printing_errors) { UNLOCK(); return; } have_errors = GC_have_errors; printing_errors = TRUE; UNLOCK(); if (GC_debugging_started) { GC_print_all_smashed(); } else { have_errors = FALSE; } for (i = 0; i < GC_n_leaked; ++i) { ptr_t p = GC_leaked[i]; if (HDR(p) -> hb_obj_kind == PTRFREE) { GC_err_printf("Leaked atomic object at "); } else { GC_err_printf("Leaked composite object at "); } GC_print_heap_obj(p); GC_err_printf("\n"); GC_free(p); GC_leaked[i] = 0; have_errors = TRUE; } GC_n_leaked = 0; if (have_errors # ifndef GC_ABORT_ON_LEAK && GETENV("GC_ABORT_ON_LEAK") != NULL # endif ) { ABORT("Leaked or smashed objects encountered"); } printing_errors = FALSE; }
FxBool sst1InitDacDetectICS(FxU32 * sstbase) { FxU32 n; int helper = (GETENV(("SST_DEBUGDAC"))) ? 1 : 0; if(helper) INIT_PRINTF(("sst1InitDacDetectICS(): Entered...\n")); /* Detect ICS... */ /* Sometimes the DACs seem to go into never-never land, so */ /* try and initialize the DAC multiple times */ n = 0; while(1) { FxU32 gclk1, vclk1, vclk7; if(++n > 100) break; /* Must guarantee that no rendering is being performed */ sst1InitIdleFBINoNOP(sstbase); sst1InitDacWr(sstbase, SST_DACREG_ICS_PLLADDR_RD, SST_DACREG_ICS_PLLADDR_GCLK1); gclk1 = sst1InitDacRd(sstbase, SST_DACREG_ICS_PLLADDR_DATA); sst1InitDacRd(sstbase, SST_DACREG_ICS_PLLADDR_DATA); sst1InitDacWr(sstbase, SST_DACREG_ICS_PLLADDR_RD, SST_DACREG_ICS_PLLADDR_VCLK1); vclk1 = sst1InitDacRd(sstbase, SST_DACREG_ICS_PLLADDR_DATA); sst1InitDacRd(sstbase, SST_DACREG_ICS_PLLADDR_DATA); sst1InitDacWr(sstbase, SST_DACREG_ICS_PLLADDR_RD, SST_DACREG_ICS_PLLADDR_VCLK7); vclk7 = sst1InitDacRd(sstbase, SST_DACREG_ICS_PLLADDR_DATA); sst1InitDacRd(sstbase, SST_DACREG_ICS_PLLADDR_DATA); if((gclk1 == SST_DACREG_ICS_PLLADDR_GCLK1_DEFAULT) && (vclk1 == SST_DACREG_ICS_PLLADDR_VCLK1_DEFAULT) && (vclk7 == SST_DACREG_ICS_PLLADDR_VCLK7_DEFAULT)) { /* found ICS DAC... */ sst1CurrentBoard->fbiDacType = SST_FBI_DACTYPE_ICS; if(helper) INIT_PRINTF(("sst1InitDacDetectICS(): Exiting...\n")); return(FXTRUE); } } if(helper) INIT_PRINTF(("sst1InitDacDetectICS(): Exiting...\n")); return(FXFALSE); }
struct ProxyStruct parseuri(char *uri) { struct ProxyStruct ret; char **atmp; char tmpfiletmp[64]; struct growstring grow; int i; /* Verify we got something */ assert(uri); /* Initialize the growstring */ grow.size=1024*sizeof(char); grow.string=calloc(sizeof(char), grow.size); /* Copy the uri */ ret.request_uri=strdup(uri); /* we prepend each part with a / in the for loop */ str_append(&grow, "http:/"); atmp=split('/', uri); for(i=3; atmp[i]!=NULL; i++) { str_append(&grow, "/"); str_append(&grow, atmp[i]); } /* Get the URL stuff */ ret.request_url=strdup(grow.string); ret.url=parseurl(ret.request_url); /* Get the file */ grow.string[0]=0x00; str_append(&grow, GETENV("DOCUMENT_ROOT")); str_append(&grow, "/"); str_append(&grow, ret.request_uri); ret.file=strdup(grow.string); sprintf(tmpfiletmp, ".tmp.%d", getpid()); str_append(&grow, tmpfiletmp); ret.tmpfile=grow.string; freeptrlist(atmp); return(ret); }
/* goodB2G1() - use badsource and goodsink by changing the second staticReturnsTrue() to staticReturnsFalse() */ static void goodB2G1() { wchar_t * data; wchar_t dataBuffer[100] = L""; data = dataBuffer; if(staticReturnsTrue()) { { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 100-dataLen-1); } } } if(staticReturnsFalse()) { /* INCIDENTAL: CWE 561 Dead Code, the code below will never run */ printLine("Benign, fixed string"); } else { { int i, n, intVariable; if (swscanf(data, L"%d", &n) == 1) { /* FIX: limit loop iteration counts */ if (n < MAX_LOOP) { intVariable = 0; for (i = 0; i < n; i++) { /* INCIDENTAL: CWE 561: Dead Code - non-avoidable if n <= 0 */ intVariable++; /* avoid a dead/empty code block issue */ } printIntLine(intVariable); } } } } }
static void goodB2G() { char * data; char dataBuffer[100] = ""; data = dataBuffer; { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, 100-dataLen-1); } } CWE134_Uncontrolled_Format_String__char_environment_snprintf_64b_goodB2GSink(&data); }
/* goodB2G uses the BadSource with the GoodSink */ static void goodB2G() { wchar_t * data; data = (wchar_t *)malloc(100*sizeof(wchar_t)); data[0] = L'\0'; { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 100-dataLen-1); } } CWE761_Free_Pointer_Not_at_Start_of_Buffer__wchar_t_environment_51b_goodB2GSink(data); }
void CWE78_OS_Command_Injection__char_environment_system_53_bad() { char * data; char data_buf[100] = FULL_COMMAND; data = data_buf; { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, 100-dataLen-1); } } CWE78_OS_Command_Injection__char_environment_system_53b_badSink(data); }
static void goodB2G() { char * data; char dataBuffer[100] = ""; data = dataBuffer; { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, 100-dataLen-1); } } goodB2GSink(data); }
void bad() { wchar_t * data; wchar_t dataBuffer[FILENAME_MAX] = BASEPATH; data = dataBuffer; { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, FILENAME_MAX-dataLen-1); } } badSink(data); }
void CWE114_Process_Control__w32_char_environment_53_bad() { char * data; char dataBuffer[100] = ""; data = dataBuffer; { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, 100-dataLen-1); } } CWE114_Process_Control__w32_char_environment_53b_badSink(data); }
static void goodB2G() { wchar_t * data; wchar_t dataBuffer[100] = L""; data = dataBuffer; { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 100-dataLen-1); } } CWE134_Uncontrolled_Format_String__wchar_t_environment_fprintf_54b_goodB2GSink(data); }
void CWE90_LDAP_Injection__w32_wchar_t_environment_54_bad() { wchar_t * data; wchar_t dataBuffer[256] = L""; data = dataBuffer; { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 256-dataLen-1); } } CWE90_LDAP_Injection__w32_wchar_t_environment_54b_badSink(data); }
char * CWE78_OS_Command_Injection__char_environment_w32_spawnlp_22_badSource(char * data) { if(CWE78_OS_Command_Injection__char_environment_w32_spawnlp_22_badGlobal) { { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, 100-dataLen-1); } } } return data; }
void CWE78_OS_Command_Injection__wchar_t_environment_w32_spawnvp_41_bad() { wchar_t * data; wchar_t dataBuffer[100] = L""; data = dataBuffer; { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 100-dataLen-1); } } CWE78_OS_Command_Injection__wchar_t_environment_w32_spawnvp_41_badSink(data); }
void CWE427_Uncontrolled_Search_Path_Element__wchar_t_environment_54_bad() { wchar_t * data; wchar_t dataBuffer[250] = L"PATH="; data = dataBuffer; { /* Append input from an environment variable to data */ size_t dataLen = wcslen(data); wchar_t * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ wcsncat(data+dataLen, environment, 250-dataLen-1); } } CWE427_Uncontrolled_Search_Path_Element__wchar_t_environment_54b_badSink(data); }
void CWE78_OS_Command_Injection__char_environment_execl_64_bad() { char * data; char dataBuffer[100] = ""; data = dataBuffer; { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, 100-dataLen-1); } } CWE78_OS_Command_Injection__char_environment_execl_64b_badSink(&data); }
void bad() { char * data; char dataBuffer[FILENAME_MAX] = ""; data = dataBuffer; { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, FILENAME_MAX-dataLen-1); } } badSink_b(data); }
int main(int argc, char *argv[]) { int i; wc_data_t wc_data; i = map_reduce_init (&argc, &argv); CHECK_ERROR(i < 0); wc_data.fname = argv[1]; printf("Wordcount: Running...\n"); // Setup splitter args wc_data.unit_size = 5; // approx 3 bytes per word wc_data.fpos = 0; // Setup map reduce args map_reduce_args_t map_reduce_args; memset(&map_reduce_args, 0, sizeof(map_reduce_args_t)); map_reduce_args.task_data = &wc_data; map_reduce_args.task_data_size = sizeof(wc_data_t); map_reduce_args.prep = wc_prep; map_reduce_args.cleanup = wc_cleanup; map_reduce_args.map = wordcount_map; map_reduce_args.reduce = wordcount_reduce; map_reduce_args.combiner = wordcount_combiner; map_reduce_args.splitter = wordcount_splitter; map_reduce_args.key_cmp = mystrcmp; map_reduce_args.unit_size = wc_data.unit_size; map_reduce_args.partition = NULL; // use default map_reduce_args.result = &wc_data.wc_vals; map_reduce_args.L1_cache_size = atoi(GETENV("MR_L1CACHESIZE"));//1024 * 1024 * 2; map_reduce_args.num_map_threads = atoi(GETENV("MR_NUMTHREADS"));//8; map_reduce_args.num_reduce_threads = atoi(GETENV("MR_NUMTHREADS"));//16; map_reduce_args.num_merge_threads = atoi(GETENV("MR_NUMTHREADS"));//8; map_reduce_args.num_procs = atoi(GETENV("MR_NUMPROCS"));//16; map_reduce_args.key_match_factor = (float)atof(GETENV("MR_KEYMATCHFACTOR"));//2; printf("Wordcount: Calling MapReduce Scheduler Wordcount\n"); CHECK_ERROR(map_reduce (&map_reduce_args) < 0); map_reduce_cleanup(&map_reduce_args); CHECK_ERROR (map_reduce_finalize ()); get_time (&end); return 0; }
static void goodB2G2() { char * data; data = (char *)malloc(100*sizeof(char)); data[0] = '\0'; { /* Append input from an environment variable to data */ size_t dataLen = strlen(data); char * environment = GETENV(ENV_VARIABLE); /* If there is data in the environment variable */ if (environment != NULL) { /* POTENTIAL FLAW: Read data from an environment variable */ strncat(data+dataLen, environment, 100-dataLen-1); } } CWE761_Free_Pointer_Not_at_Start_of_Buffer__char_environment_22_goodB2G2Global = 1; /* true */ CWE761_Free_Pointer_Not_at_Start_of_Buffer__char_environment_22_goodB2G2Sink(data); }