processing exit value of why2_generate_key's fread
didn't I say removing all TODOs?
This commit is contained in:
parent
c0e4924792
commit
9207c1c309
@ -417,17 +417,29 @@ enum WHY2_EXIT_CODES why2_generate_key(char *key, int keyLength)
|
|||||||
|
|
||||||
if (!seedSet)
|
if (!seedSet)
|
||||||
{
|
{
|
||||||
|
why2_set_memory_identifier("core_key_generation");
|
||||||
|
|
||||||
//TRY TO MAKE RANDOM GENERATION REALLY "RANDOM"
|
//TRY TO MAKE RANDOM GENERATION REALLY "RANDOM"
|
||||||
FILE *fileBuffer;
|
FILE *fileBuffer;
|
||||||
|
|
||||||
fileBuffer = fopen("/dev/urandom", "r");
|
fileBuffer = fopen("/dev/urandom", "r");
|
||||||
(void) (fread(&numberBuffer, sizeof(numberBuffer), 1, fileBuffer) + 1); //TODO: Try to create some function for processing exit value
|
|
||||||
|
if (fread(&numberBuffer, sizeof(numberBuffer), 1, fileBuffer) != 1)
|
||||||
|
{
|
||||||
|
if (!why2_get_flags().no_output) fprintf(stderr, "Reading file failed!\n");
|
||||||
|
|
||||||
|
why2_clean_memory("core_key_generation");
|
||||||
|
return WHY2_INVALID_KEY;
|
||||||
|
}
|
||||||
|
|
||||||
numberBuffer = abs(numberBuffer); //MAKE numberBuffer POSITIVE
|
numberBuffer = abs(numberBuffer); //MAKE numberBuffer POSITIVE
|
||||||
srand(numberBuffer);
|
srand(numberBuffer);
|
||||||
|
|
||||||
fclose(fileBuffer);
|
fclose(fileBuffer);
|
||||||
|
|
||||||
seedSet = 1;
|
seedSet = 1;
|
||||||
|
|
||||||
|
why2_reset_memory_identifier();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < keyLength; i++)
|
for (int i = 0; i < keyLength; i++)
|
||||||
@ -449,4 +461,6 @@ enum WHY2_EXIT_CODES why2_generate_key(char *key, int keyLength)
|
|||||||
}
|
}
|
||||||
|
|
||||||
key[keyLength] = '\0';
|
key[keyLength] = '\0';
|
||||||
|
|
||||||
|
return WHY2_SUCCESS;
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user