X-Git-Url: https://iam.tj/gitweb/gitweb.cgi?p=cfe_generate_password.git;a=blobdiff_plain;f=cfe_generate_password.c;h=927b9e64b4634c9c1c430e573f1ad50d7ffa1d30;hp=967543ba07b1841b485ce850403174cf3f867145;hb=91408173b276846e676cf803cced45448ef3f590;hpb=db32317f1b24a5ab72dcf5facfacc9816fc36dc7 diff --git a/cfe_generate_password.c b/cfe_generate_password.c index 967543b..927b9e6 100644 --- a/cfe_generate_password.c +++ b/cfe_generate_password.c @@ -86,12 +86,12 @@ static void pr_error_exit(unsigned int usage, const char *error, ...) { va_list args; - char error_message[MESSAGE_SIZE]; + char error_message[MESSAGE_SIZE + 1]; if (!error) return; va_start(args, error); - (void) vsnprintf(error_message, MESSAGE_SIZE, error, args); + (void) vsnprintf(error_message, MESSAGE_SIZE + 1, error, args); va_end(args); fprintf(stderr, "Error: %s\n", error_message); @@ -119,7 +119,7 @@ generate_seed(char *mac, char *timestamp, char *seed) size_t i; char *mac_ptr = mac + 9; size_t ts_len = strlen(timestamp); - for (i = 0; i <= SEED_SIZE; ++i) { + for (i = 0; i < SEED_SIZE; ++i) { /* if no timestamp assume CFE get_time() returned 0 and CFE g_pw_timestamp == 0x00000000 */ if (i < 6) seed[i] = ts_len ? timestamp[i] : '0'; @@ -131,7 +131,7 @@ generate_seed(char *mac, char *timestamp, char *seed) } result = 1; } else - pr_error_exit(0, "MAC-ADDR should be 17 characters, e.g: 00:01:02:03:04:05"); + pr_error_exit(0, "MAC-ADDR should be %d characters, e.g: 00:01:02:03:04:05", MAC_ADDR_SIZE); return result; } @@ -231,7 +231,8 @@ main(int argc, char **argv, char **env) if (! generate_pass(seed, password)) pr_error_exit(0, "unable to generate password"); - printf("MAC address: %s Timestamp: %s Seed: %s Password: %s\n", MAC_ADDR, timestamp, seed, password); + if (opt_seed || opt_pass) + printf("MAC address: %s Timestamp: %s Seed: %s Password: %s\n", MAC_ADDR, timestamp, seed, password); } return result;