Text   |  XML   |  ReML   |   Visible Warnings:

Null Pointer Dereference  at auth-request.c:444

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

mech_plain_auth_continue

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/auth/mech-plain.c)expand/collapse
Show more  
 10  mech_plain_auth_continue(struct auth_request *request,
 11                           const unsigned char *data, size_t data_size)
 12  {
 13          const char *authid, *authenid, *error;
 14          char *pass;
 15          size_t i, len;
 16          int count;
 17   
 18          /* authorization ID \0 authentication ID \0 pass.
 19             we'll ignore authorization ID for now. */
 20          authid = (const char *) data;
 21          authenid = NULL; pass = NULL;
 22   
 23          count = 0;
 24          for (i = 0; i < data_size; i++) {
 25                  if (data[i] == '\0') {
 26                          if (++count == 1)
 27                                  authenid = (const char *) data + i+1;
 28                          else {
 29                                  i++;
 30                                  len = data_size - i;
 31                                  pass = p_strndup(unsafe_data_stack_pool,
 32                                                   data+i, len);
 33                                  break;
 34                          }
 35                  }
 36          }
 37   
 38          if (authenid != NULL && strcmp(authid, authenid) == 0) {
 39                  /* the  username isn't different */
 40                  authid = "";
 41          }
 42   
 43          if (count != 2) {
 44                  /* invalid input */
 45                  auth_request_log_info(request, "plain", "invalid input");
 46                  auth_request_fail(request);
 47[+]         } else if (!auth_request_set_username(request, authenid, &error)) {
 48                  /* invalid username */
 49                  auth_request_log_info(request, "plain", "%s", error);
 50                  auth_request_fail(request);
 51          } else if (*authid != '\0' &&
 52                     !(request, authid, &error)) {
 53                  /* invalid  username */
 54                  auth_request_log_info(request, "plain",
 55                                        " user: %s", error);
 56                  auth_request_fail(request);
 57          } else {
 58                  auth_request_verify_plain(request, pass,
 59[+]                                           plain_verify_callback);
expand/collapse

auth_request_verify_plain

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/auth/auth-request.c)expand/collapse
Show more  
 459  void auth_request_verify_plain(struct auth_request *request,
 460                                 const char *password,
 461                                 verify_plain_callback_t *callback)
 462  {
 463          struct passdb_module *passdb;
 464          enum passdb_result result;
 465          const char *cache_key;
 466   
 467          i_assert(request->state == AUTH_REQUEST_STATE_MECH_CONTINUE);
 468   
 469          if (request->passdb == NULL) {
 470                  /* no masterdbs, master logins not supported */
 471                  i_assert(request-> != NULL);
 472                  auth_request_log_info(request, "passdb",
 473                          "Attempted master  with no master passdbs "
 474                          "(trying to log in as user: %s)",
 475                          request->);
 476                  callback(PASSDB_RESULT_USER_UNKNOWN, request);
 477                  return;
 478          }
 479   
 480[+]         if (password_has_illegal_chars(password)) {
expand/collapse

password_has_illegal_chars

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/auth/auth-request.c)expand/collapse
Show more  
 442  static bool password_has_illegal_chars(const char *password)
 443  {
 444          for (; *password != '\0'; password++) {
Show more  
Show more  
Show more  




Change Warning 7615.25596 : Null Pointer Dereference

Priority:
State:
Finding:
Owner:
Note: