X-Git-Url: http://www.average.org/gitweb/?p=pam_pcsc_cr.git;a=blobdiff_plain;f=authfile.c;h=6937a665dddd68b66d85c22ef1394846530ab6ce;hp=8c023d1e8e3a8a0ddd422082d96c5288e69dabec;hb=3bbb37e0ef1e77e9a93b7be7fb506bbbdd6a0400;hpb=d428f25cb05d2def10d08cd0e34fe5fe4d4b45fc diff --git a/authfile.c b/authfile.c index 8c023d1..6937a66 100644 --- a/authfile.c +++ b/authfile.c @@ -215,7 +215,7 @@ struct _auth_obj authfile(const char *tokenid, } if (!ret.err) { - int bufsize = (w.userid?strlen(w.userid)+1:0) + ao.paylsize; + int bufsize = (w.userid?strlen(w.userid)+1:0) + ao.paylsize + 1; if (bufsize) { if ((ret.buffer = malloc(bufsize)) == NULL) { ret.err = "authfile malloc failed"; @@ -229,8 +229,9 @@ struct _auth_obj authfile(const char *tokenid, } if (ao.payload) { memcpy(p, ao.payload, ao.paylsize); + p[ao.paylsize] = '\0'; ret.payload = p; - ret.paylsize = ao.paylsize; + ret.paylsize = ao.paylsize+1; } } }