*** libspf2-1.2.5/src/libspf2/spf_compile.c.ORIG 2005-02-24 04:40:31.000000000 +0100 --- libspf2-1.2.5/src/libspf2/spf_compile.c 2007-10-22 09:13:18.000000000 +0200 *************** *** 1369,1375 **** /* XXX TODO: Tidy this up? */ size = sizeof(SPF_macro_t) + spf_macro->macro_len; ! *spf_macrop = (SPF_macro_t *)malloc(size); memcpy(*spf_macrop, buf, size); return SPF_E_SUCCESS; --- 1369,1376 ---- /* XXX TODO: Tidy this up? */ size = sizeof(SPF_macro_t) + spf_macro->macro_len; ! if ( (*spf_macrop = (SPF_macro_t *)malloc(size)) == NULL) ! return SPF_E_NO_MEMORY; memcpy(*spf_macrop, buf, size); return SPF_E_SUCCESS; *** libspf2-1.2.5/src/libspf2/spf_config.c.ORIG 2004-08-05 15:29:51.000000000 +0200 --- libspf2-1.2.5/src/libspf2/spf_config.c 2007-10-22 09:32:05.000000000 +0200 *************** *** 87,93 **** spfic->rec_dom = NULL; if ( SPF_default_rec_dom == NULL ) { ! SPF_default_rec_dom = malloc( HOST_NAME_MAX ); #ifdef _WIN32 gethostnameFQDN( SPF_default_rec_dom, HOST_NAME_MAX ); #else --- 87,94 ---- spfic->rec_dom = NULL; if ( SPF_default_rec_dom == NULL ) { ! if ( (SPF_default_rec_dom = malloc( HOST_NAME_MAX )) == NULL) ! SPF_error( "can't allocate memory for SPF_default_rec_dom" ); #ifdef _WIN32 gethostnameFQDN( SPF_default_rec_dom, HOST_NAME_MAX ); #else *************** *** 650,655 **** --- 651,657 ---- len = strlen( spf_record ) + sizeof( SPF_VER_STR " " SPF_DEFAULT_WHITELIST " " ); buf = malloc( len ); + if (buf == NULL) return SPF_E_NO_MEMORY; if ( use_default_whitelist ) snprintf( buf, len, "%s %s %s", *** libspf2-1.2.5/src/libspf2/spf_dns_cache.c.ORIG 2005-02-24 04:50:22.000000000 +0100 --- libspf2-1.2.5/src/libspf2/spf_dns_cache.c 2007-10-22 09:44:25.000000000 +0200 *************** *** 292,297 **** --- 292,301 ---- bucket = (SPF_dns_cache_bucket_t *) malloc(sizeof(SPF_dns_cache_bucket_t)); + if (bucket == NULL) { + SPF_error( "can't allocate memory for SPF_dns_cache_bucket_t" ); + return; + } bucket->next = spfhook->cache[idx]; spfhook->cache[idx] = bucket; bucket->rr = rr; *** libspf2-1.2.5/src/libspf2/spf_expand.c.ORIG 2004-08-31 17:28:55.000000000 +0200 --- libspf2-1.2.5/src/libspf2/spf_expand.c 2007-10-22 15:38:50.000000000 +0200 *************** *** 288,293 **** --- 288,295 ---- len = strlen(var); munged_var = (char *)malloc(len + 1); + if (munged_var == NULL) return SPF_E_NO_MEMORY; + memset(munged_var, 0, len + 1); p_read_end = var + len; *** libspf2-1.2.5/src/libspf2/spf_interpret.c.ORIG 2007-10-20 00:29:54.000000000 +0200 --- libspf2-1.2.5/src/libspf2/spf_interpret.c 2007-10-22 15:41:56.000000000 +0200 *************** *** 71,77 **** SPF_ASSERT_NOTNULL(spf_record); buflen = SPF_SMTP_COMMENT_SIZE + 1; ! buf = malloc(buflen); memset(buf, '\0', buflen); err = SPF_request_get_exp(spf_server, spf_request, --- 71,78 ---- SPF_ASSERT_NOTNULL(spf_record); buflen = SPF_SMTP_COMMENT_SIZE + 1; ! if ( (buf = malloc(buflen)) == NULL) ! return SPF_E_NO_MEMORY; memset(buf, '\0', buflen); err = SPF_request_get_exp(spf_server, spf_request, *** libspf2-1.2.5/src/libspf2/spf_record.c.ORIG 2004-08-12 01:49:55.000000000 +0200 --- libspf2-1.2.5/src/libspf2/spf_record.c 2007-10-22 15:58:50.000000000 +0200 *************** *** 49,55 **** { SPF_record_t *rp; ! rp = (SPF_record_t *)malloc(sizeof(SPF_record_t)); memset(rp, 0, sizeof(SPF_record_t)); rp->spf_server = spf_server; --- 49,58 ---- { SPF_record_t *rp; ! if ( (rp = (SPF_record_t *)malloc(sizeof(SPF_record_t))) == NULL) { ! SPF_error( "can't allocate memory for SPF_record_t" ); ! return NULL; ! } memset(rp, 0, sizeof(SPF_record_t)); rp->spf_server = spf_server; *** libspf2-1.2.5/src/libspf2/spf_request.c.ORIG 2005-02-22 03:38:57.000000000 +0100 --- libspf2-1.2.5/src/libspf2/spf_request.c 2007-10-22 17:29:54.000000000 +0200 *************** *** 42,48 **** { SPF_request_t *sr; ! sr = (SPF_request_t *)malloc(sizeof(SPF_request_t)); memset(sr, 0, sizeof(SPF_request_t)); sr->spf_server = spf_server; --- 42,51 ---- { SPF_request_t *sr; ! if ( (sr = (SPF_request_t *)malloc(sizeof(SPF_request_t))) == NULL) { ! SPF_error( "can't allocate memory for SPF_request_t" ); ! return NULL; ! } memset(sr, 0, sizeof(SPF_request_t)); sr->spf_server = spf_server; *************** *** 151,157 **** } else { len = sizeof("postmaster@") + strlen(from); ! sr->env_from = malloc(len + 1); /* sizeof("") == 1? */ sprintf(sr->env_from, "postmaster@%s", from); sr->env_from_lp = strdup("postmaster"); sr->env_from_dp = strdup(from); --- 154,164 ---- } else { len = sizeof("postmaster@") + strlen(from); ! if ( (sr->env_from = malloc(len + 1)) == NULL) { /* sizeof("") == 1? */ ! sr->env_from_lp = NULL; ! sr->env_from_dp = NULL; ! return 0; ! } sprintf(sr->env_from, "postmaster@%s", from); sr->env_from_lp = strdup("postmaster"); sr->env_from_dp = strdup(from); *************** *** 325,330 **** --- 332,338 ---- len = sizeof(SPF_VER_STR) + 64 + strlen(rcpt_to_dom); record = malloc(len); + if (record == NULL) return SPF_E_NO_MEMORY; snprintf(record, len, SPF_VER_STR " mx:%s", rcpt_to_dom); err = SPF_record_compile(spf_server, *spf_responsep, &spf_record, *** libspf2-1.2.5/src/libspf2/spf_response.c.ORIG 2004-10-19 16:05:19.000000000 +0200 --- libspf2-1.2.5/src/libspf2/spf_response.c 2007-10-22 16:05:42.000000000 +0200 *************** *** 38,44 **** { SPF_response_t *rp; ! rp = (SPF_response_t *)malloc(sizeof(SPF_response_t)); memset(rp, 0, sizeof(SPF_response_t)); rp->spf_request = spf_request; --- 38,47 ---- { SPF_response_t *rp; ! if ( (rp = (SPF_response_t *)malloc(sizeof(SPF_response_t))) == NULL) { ! SPF_error( "can't allocate memory for SPF_response_t" ); ! return NULL; ! } memset(rp, 0, sizeof(SPF_response_t)); rp->spf_request = spf_request; *** libspf2-1.2.5/src/libspf2/spf_result.c.ORIG 2004-08-10 15:04:02.000000000 +0200 --- libspf2-1.2.5/src/libspf2/spf_result.c 2007-10-22 16:48:54.000000000 +0200 *************** *** 515,525 **** buf_len = strlen( spfic->rcpt_to_dom ) + sizeof( SPF_VER_STR " mx: " ); buf = malloc( buf_len ); ! ! snprintf( buf, buf_len, SPF_VER_STR " mx:%s", spfic->rcpt_to_dom ); ! ! err = SPF_compile( spfcid, buf, &c_results ); ! free( buf ); if ( err ) { --- 515,526 ---- buf_len = strlen( spfic->rcpt_to_dom ) + sizeof( SPF_VER_STR " mx: " ); buf = malloc( buf_len ); ! if (buf != NULL) { ! snprintf( buf, buf_len, SPF_VER_STR " mx:%s", spfic->rcpt_to_dom ); ! err = SPF_compile( spfcid, buf, &c_results ); ! free( buf ); ! } ! else err=1; /* faked error, just to exit correctly */ if ( err ) { *** libspf2-1.2.5/src/libspf2/spf_server.c.ORIG 2005-02-19 04:52:58.000000000 +0100 --- libspf2-1.2.5/src/libspf2/spf_server.c 2007-10-22 16:53:00.000000000 +0200 *************** *** 61,67 **** static SPF_errcode_t SPF_server_set_rec_dom_ghbn(SPF_server_t *sp) { ! sp->rec_dom = malloc( HOST_NAME_MAX ); #ifdef _WIN32 gethostnameFQDN(sp->rec_dom, HOST_NAME_MAX); return 0; /* XXX FIXME? */ --- 61,67 ---- static SPF_errcode_t SPF_server_set_rec_dom_ghbn(SPF_server_t *sp) { ! if ( (sp->rec_dom = malloc( HOST_NAME_MAX )) == NULL) return SPF_E_NO_MEMORY; #ifdef _WIN32 gethostnameFQDN(sp->rec_dom, HOST_NAME_MAX); return 0; /* XXX FIXME? */ *************** *** 81,87 **** SPF_server_t *sp; SPF_errcode_t err; ! sp = (SPF_server_t *)malloc(sizeof(SPF_server_t)); memset(sp, 0, sizeof(SPF_server_t)); sp->max_dns_mech = SPF_MAX_DNS_MECH; --- 81,90 ---- SPF_server_t *sp; SPF_errcode_t err; ! if ( (sp = (SPF_server_t *)malloc(sizeof(SPF_server_t))) == NULL) { ! SPF_error( "can't allocate memory for SPF_server_t" ); ! return NULL; ! } memset(sp, 0, sizeof(SPF_server_t)); sp->max_dns_mech = SPF_MAX_DNS_MECH; *************** *** 213,218 **** --- 216,222 ---- if (use_default_whitelist) len += sizeof(SPF_DEFAULT_WHITELIST); record = malloc(len); + if (record == NULL) return SPF_E_NO_MEMORY; if (use_default_whitelist) snprintf(record, len, "%s %s %s", SPF_VER_STR, policy, SPF_DEFAULT_WHITELIST);