Changeset 55 in openpam for trunk


Ignore:
Timestamp:
Feb 13, 2002, 2:14:55 AM (18 years ago)
Author:
Dag-Erling Smørgrav
Message:

Initialize tmp to NULL so that items can be cleared as intended.
Don't forget to fill the pam_conv structure after allocating it.

Sponsored by: DARPA, NAI Labs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/pam_set_item.c

    r48 r55  
    6363
    6464        slot = &pamh->item[item_type];
     65        tmp = NULL;
    6566        switch (item_type) {
    6667        case PAM_SERVICE:
     
    7677                        size = strlen(*slot) + 1;
    7778                if (item != NULL)
    78                         tmp = strdup(item);
     79                        if ((tmp = strdup(item)) == NULL)
     80                                return (PAM_BUF_ERR);
    7981                break;
    8082        case PAM_CONV:
    8183                size = sizeof(struct pam_conv);
    82                 if (item != NULL)
    83                         tmp = malloc(size);
     84                if (item != NULL) {
     85                        if ((tmp = malloc(size)) == NULL)
     86                                return (PAM_BUF_ERR);
     87                        memcpy(tmp, item, sizeof(struct pam_conv));
     88                }
    8489                break;
    8590        default:
    8691                return (PAM_SYSTEM_ERR);
    8792        }
    88         if (item != NULL && tmp == NULL)
    89                 return (PAM_BUF_ERR);
    9093        if (*slot != NULL) {
    9194                memset(*slot, 0xd0, size);
Note: See TracChangeset for help on using the changeset viewer.