Changeset 164 in openpam
- Timestamp:
- 06/30/02 23:11:38 (11 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
-
include/security/pam_constants.h (modified) (2 diffs)
-
lib/pam_get_item.c (modified) (2 diffs)
-
lib/pam_set_item.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/security/pam_constants.h
r161 r164 32 32 * SUCH DAMAGE. 33 33 * 34 * $P4: //depot/projects/openpam/include/security/pam_constants.h#1 6$34 * $P4: //depot/projects/openpam/include/security/pam_constants.h#17 $ 35 35 */ 36 36 … … 123 123 PAM_AUTHTOK_PROMPT = 10, /* OpenPAM extension */ 124 124 PAM_OLDAUTHTOK_PROMPT = 11, /* OpenPAM extension */ 125 PAM_REPOSITORY = 12, 125 126 PAM_NUM_ITEMS /* OpenPAM extension */ 126 127 }; -
trunk/lib/pam_get_item.c
r157 r164 32 32 * SUCH DAMAGE. 33 33 * 34 * $P4: //depot/projects/openpam/lib/pam_get_item.c#1 2$34 * $P4: //depot/projects/openpam/lib/pam_get_item.c#13 $ 35 35 */ 36 36 … … 68 68 case PAM_AUTHTOK_PROMPT: 69 69 case PAM_OLDAUTHTOK_PROMPT: 70 case PAM_REPOSITORY: 70 71 *item = pamh->item[item_type]; 71 72 return (PAM_SUCCESS); -
trunk/lib/pam_set_item.c
r157 r164 32 32 * SUCH DAMAGE. 33 33 * 34 * $P4: //depot/projects/openpam/lib/pam_set_item.c#1 4$34 * $P4: //depot/projects/openpam/lib/pam_set_item.c#15 $ 35 35 */ 36 36 … … 57 57 { 58 58 void **slot, *tmp; 59 size_t size;59 size_t nsize, osize; 60 60 61 61 if (pamh == NULL) … … 63 63 64 64 slot = &pamh->item[item_type]; 65 tmp = NULL;66 65 switch (item_type) { 67 66 case PAM_SERVICE: … … 75 74 case PAM_AUTHTOK_PROMPT: 76 75 case PAM_OLDAUTHTOK_PROMPT: 76 if (item != NULL) 77 nsize = strlen(item) + 1; 77 78 if (*slot != NULL) 78 size = strlen(*slot) + 1;79 if (item != NULL)80 if ((tmp = strdup(item)) == NULL)81 return (PAM_BUF_ERR);79 osize = strlen(*slot) + 1; 80 break; 81 case PAM_REPOSITORY: 82 osize = nsize = sizeof(struct pam_repository); 82 83 break; 83 84 case PAM_CONV: 84 size = sizeof(struct pam_conv); 85 if (item != NULL) { 86 if ((tmp = malloc(size)) == NULL) 87 return (PAM_BUF_ERR); 88 memcpy(tmp, item, sizeof(struct pam_conv)); 89 } 85 osize = nsize = sizeof(struct pam_conv); 90 86 break; 91 87 default: … … 93 89 } 94 90 if (*slot != NULL) { 95 memset(*slot, 0xd0, size);91 memset(*slot, 0xd0, osize); 96 92 free(*slot); 93 } 94 if (item != NULL) { 95 if ((tmp = malloc(nsize)) == NULL) 96 return (PAM_BUF_ERR); 97 memcpy(tmp, item, nsize); 98 } else { 99 tmp = NULL; 97 100 } 98 101 *slot = tmp;
Note: See TracChangeset
for help on using the changeset viewer.