Text   |  XML   |  ReML   |   Visible Warnings:

Buffer Overrun  at strfuncs.c:39

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

login_process_init_env

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/master/login-process.c)expand/collapse
Show more  
 535  static void (struct  *group, pid_t pid)
 536  {
 537          struct settings *set = group->set;
 538          const struct auth_settings *auth;
 539          bool require_cert;
 540   
 541[+]         child_process_init_env();
 542   
 543          /* setup access environment - needs to be done after 
 544             clean_child_process() since it clears environment. Don't set user
 545             parameter since we don't want to call initgroups() for 
 546             processes. */
 547          restrict_access_set_env(NULL, set->,
 548                                  set->server->, (gid_t)-1,
 549                                  set-> ? set-> : NULL,
 550                                  0, 0, NULL);
 551   
 552          env_put("DOVECOT_MASTER=1");
 553   
 554          if (strcmp(set->ssl, "no") != 0) {
 555                  const char *ssl_key_password;
 556   
 557                  ssl_key_password = *set->ssl_key_password != '\0' ?
 558                          set->ssl_key_password : ssl_manual_key_password;
 559   
 560                  if (*set->ssl_ca_file != '\0') {
 561                          env_put(t_strconcat("SSL_CA_FILE=",
 562                                              set->ssl_ca_file, NULL));
 563                  }
 564                  if (strcmp(set->ssl, "required") == 0)
 565                          env_put("SSL_REQUIRED=1");
 566                  env_put(t_strconcat("SSL_CERT_FILE=",
 567                                      set->ssl_cert_file, NULL));
 568                  env_put(t_strconcat("SSL_KEY_FILE=",
 569                                      set->ssl_key_file, NULL));
 570                  env_put(t_strconcat("SSL_KEY_PASSWORD=",
 571                                      ssl_key_password, NULL));
 572                  env_put("SSL_PARAM_FILE="SSL_PARAMETERS_FILENAME);
 573                  if (*set->ssl_cipher_list != '\0') {
 574                          env_put(t_strconcat("SSL_CIPHER_LIST=",
 575                                              set->ssl_cipher_list, NULL));
 576                  }
 577                  env_put(t_strconcat("SSL_CERT_USERNAME_FIELD=",
 578                                      set->ssl_cert_username_field, NULL));
 579                  if (set->ssl_verify_client_cert)
 580                          env_put("SSL_VERIFY_CLIENT_CERT=1");
 581          }
 582   
 583          if (set->disable_plaintext_auth)
 584                  env_put("DISABLE_PLAINTEXT_AUTH=1");
 585          if (set->verbose_proctitle)
 586                  env_put("VERBOSE_PROCTITLE=1");
 587          if (set->verbose_ssl)
 588                  env_put("VERBOSE_SSL=1");
 589          if (set->server->auths->verbose)
 590                  env_put("VERBOSE_AUTH=1");
 591          if (set->server->auths->debug)
 592                  env_put("AUTH_DEBUG=1");
 593          require_cert = TRUE;
 594          for (auth = set->server->auths; auth != NULL; auth = auth->next) {
 595                  if (!auth->ssl_require_client_cert)
 596                          require_cert = FALSE;
 597          }
 598          if (require_cert)
 599                  env_put("SSL_REQUIRE_CLIENT_CERT=1");
 600   
 601          if (set->) {
 602                  env_put("PROCESS_PER_CONNECTION=1");
 603                  env_put("MAX_CONNECTIONS=1");
 604          } else {
 605                  env_put(t_strdup_printf("MAX_CONNECTIONS=%u",
 606[+][+]                                         set->));
expand/collapse

env_put

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/env-util.c)expand/collapse
Show more  
 15  void env_put(const char *env)
 16  {
 17          if (env_pool == NULL) {
 18                  env_pool = pool_alloconly_create(MEMPOOL_GROWING"Environment",
 19                                                   2048);
 20          }
 21[+]         if (putenv(p_strdup(env_pool, env)) != 0)
expand/collapse

p_strdup

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/strfuncs.c)expand/collapse
Show more  
 31  char *p_strdup(pool_t pool, const char *str)
 32  {
 33          void *mem;
 34          size_t len;
 35   
 36          if (str == NULL)
 37                  return NULL;
 38   
 39          for (len = 0; (str)[len] != '\0'; )
 40                  len++;
Show more  
Show more  
Show more  




Change Warning 7754.24825 : Buffer Overrun

Priority:
State:
Finding:
Owner:
Note: