Changeset 274 in openpam for trunk/lib


Ignore:
Timestamp:
Nov 19, 2003, 9:36:36 AM (16 years ago)
Author:
Dag-Erling Smørgrav
Message:

Belatedly fix confusion about the layout of resp, cf. similar changes
in OpenSSH-portable.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/openpam_ttyconv.c

    r264 r274  
    3232 * SUCH DAMAGE.
    3333 *
    34  * $P4: //depot/projects/openpam/lib/openpam_ttyconv.c#22 $
     34 * $P4: //depot/projects/openpam/lib/openpam_ttyconv.c#23 $
    3535 */
    3636
     
    180180                switch (msg[i]->msg_style) {
    181181                case PAM_PROMPT_ECHO_OFF:
    182                         resp[i]->resp = prompt_echo_off(msg[i]->msg);
    183                         if (resp[i]->resp == NULL)
     182                        (*resp[i]).resp = prompt_echo_off(msg[i]->msg);
     183                        if ((*resp[i]).resp == NULL)
    184184                                goto fail;
    185185                        break;
    186186                case PAM_PROMPT_ECHO_ON:
    187                         resp[i]->resp = prompt(msg[i]->msg);
    188                         if (resp[i]->resp == NULL)
     187                        (*resp[i]).resp = prompt(msg[i]->msg);
     188                        if ((*resp[i]).resp == NULL)
    189189                                goto fail;
    190190                        break;
     
    207207        RETURNC(PAM_SUCCESS);
    208208 fail:
    209         while (i)
    210                 if (resp[--i]->resp) {
    211                         memset(resp[i]->resp, 0, strlen(resp[i]->resp));
    212                         FREE(resp[i]->resp);
     209        for (i = 0; i < n; ++i) {
     210                if ((*resp[i]).resp != NULL) {
     211                        memset((*resp[i]).resp, 0, strlen((*resp[i]).resp));
     212                        FREE((*resp[i]).resp);
    213213                }
     214        }
     215        memset(*resp, 0, n * sizeof **resp);
    214216        FREE(*resp);
    215217        RETURNC(PAM_CONV_ERR);
Note: See TracChangeset for help on using the changeset viewer.