summaryrefslogtreecommitdiffstats
path: root/src/sss_client/pam_message.c
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2015-06-26 14:45:21 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-08-04 14:41:00 +0200
commit1b9a3d516341560ccf8b5f9fab0886f3d05defce (patch)
treebe3ec69c96a618580ee987638b3c1b041be910ba /src/sss_client/pam_message.c
parent95bea503429c3f44654265486a07f1696b017e84 (diff)
downloadsssd-1b9a3d516341560ccf8b5f9fab0886f3d05defce.tar.gz
sssd-1b9a3d516341560ccf8b5f9fab0886f3d05defce.tar.xz
sssd-1b9a3d516341560ccf8b5f9fab0886f3d05defce.zip
pack_message_v3: allow empty name
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/sss_client/pam_message.c')
-rw-r--r--src/sss_client/pam_message.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/sss_client/pam_message.c b/src/sss_client/pam_message.c
index b8104c680..b239f6f53 100644
--- a/src/sss_client/pam_message.c
+++ b/src/sss_client/pam_message.c
@@ -107,9 +107,10 @@ int pack_message_v3(struct pam_items *pi, size_t *size, uint8_t **buffer)
uint8_t *buf;
size_t rp;
- len = sizeof(uint32_t) +
- 2*sizeof(uint32_t) + pi->pam_user_size +
- sizeof(uint32_t);
+ len = sizeof(uint32_t) + sizeof(uint32_t);
+
+ len += *pi->pam_user != '\0' ?
+ 2*sizeof(uint32_t) + pi->pam_user_size : 0;
len += *pi->pam_service != '\0' ?
2*sizeof(uint32_t) + pi->pam_service_size : 0;
len += *pi->pam_tty != '\0' ?