ktc: fix up initializer for local_tokens
[openafs.git] / src / auth / ktc.c
index 4df513d..002f53b 100644 (file)
@@ -145,11 +145,7 @@ static struct {
     struct ktc_principal server;
     struct ktc_principal client;
     struct ktc_token token;
-} local_tokens[MAXLOCALTOKENS] = { {
-0}, {
-0}, {
-0}, {
-0}};
+} local_tokens[MAXLOCALTOKENS];
 
 static int
 GetToken(struct ktc_principal *aserver, struct ktc_token *atoken,
@@ -356,7 +352,11 @@ ktc_SetTokenEx(struct ktc_setTokenData *token) {
 
        memset(&server, 0, sizeof(server));
        strcpy(server.name, "afs");
-       strcpy(server.cell, token->cell);
+       if (strlcpy(server.cell, token->cell, sizeof(server.cell))
+               >= sizeof(server.cell)) {
+           free(rxkadToken);
+           return KTC_INVAL;
+       }
        code = ktc_SetToken(&server, rxkadToken, &client, flags);
        free(rxkadToken);
        return code;