~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_parse.cc

  • Committer: Brian Aker
  • Date: 2008-12-16 06:33:48 UTC
  • Revision ID: brian@tangent.org-20081216063348-fe9j7ys729o9eb32
Refactor out char* strdup for string class in user.

Show diffs side-by-side

added added

removed removed

Lines of Context:
590
590
                      (unsigned char)(*passwd++) : strlen(passwd));
591
591
    uint32_t dummy_errors, save_db_length, db_length;
592
592
    int res;
593
 
    Security_context save_security_ctx= *session->security_ctx;
594
593
    USER_CONN *save_user_connect;
 
594
    string old_username;
595
595
 
596
596
    db+= passwd_len + 1;
597
597
    /*
630
630
    save_db= session->db;
631
631
    save_user_connect= session->user_connect;
632
632
 
633
 
    if (!(session->security_ctx->user= strdup(user)))
634
 
    {
635
 
      session->security_ctx->user= save_security_ctx.user;
636
 
      my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), MYF(0));
637
 
      break;
638
 
    }
 
633
    old_username= session->security_ctx.user;
 
634
    session->security_ctx.user.assign(user);
639
635
 
640
636
    /* Clear variables that are allocated */
641
637
    session->user_connect= 0;
643
639
 
644
640
    if (res)
645
641
    {
646
 
      if (session->security_ctx->user)
647
 
        free(session->security_ctx->user);
648
 
      *session->security_ctx= save_security_ctx;
 
642
      session->security_ctx.user= old_username;
649
643
      session->user_connect= save_user_connect;
650
644
      session->db= save_db;
651
645
      session->db_length= save_db_length;
654
648
    {
655
649
      if (save_db)
656
650
        free(save_db);
657
 
      if (save_security_ctx.user)
658
 
        free(save_security_ctx.user);
659
651
 
660
652
      if (cs_number)
661
653
      {
2454
2446
    session->options&= ~OPTION_KEEP_LOG;
2455
2447
    session->transaction.all.modified_non_trans_table= false;
2456
2448
  }
2457
 
  assert(session->security_ctx== &session->main_security_ctx);
2458
2449
  session->thread_specific_used= false;
2459
2450
 
2460
2451
  if (opt_bin_log)