]> www.average.org Git - pam_pcsc_cr.git/blobdiff - authfile.c
gitignore *.a
[pam_pcsc_cr.git] / authfile.c
index 8c023d1e8e3a8a0ddd422082d96c5288e69dabec..6937a665dddd68b66d85c22ef1394846530ab6ce 100644 (file)
@@ -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;
                                }
                        }
                }