fix buffer size for raw mode & error handling when no device is connected
This commit is contained in:
@@ -268,10 +268,8 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
// calculate output size based on the parameters:
|
// calculate output size based on the parameters:
|
||||||
uint64_t resultSize;
|
uint64_t resultSize;
|
||||||
if (opts.outputMultiplier <= 1 || opts.raw) {
|
if (opts.outputMultiplier <= 2 || opts.raw) {
|
||||||
resultSize = 32u;
|
resultSize = 64u;
|
||||||
} else if (opts.outputMultiplier==2) {
|
|
||||||
resultSize=64;
|
|
||||||
} else {
|
} else {
|
||||||
resultSize = 128u;
|
resultSize = 128u;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ uint32_t processBytes(uint8_t *bytes, uint8_t *result, uint32_t *entropy,
|
|||||||
// gets a snapshot of the keccak state. BUFLEN must be a multiple of 64, since
|
// gets a snapshot of the keccak state. BUFLEN must be a multiple of 64, since
|
||||||
// Keccak-1600 uses 64-bit "lanes".
|
// Keccak-1600 uses 64-bit "lanes".
|
||||||
|
|
||||||
uint8_t dataOut[1024u];
|
uint8_t dataOut[128u];
|
||||||
KeccakAbsorb(keccakState, bytes, BUFLEN / 64u);
|
KeccakAbsorb(keccakState, bytes, BUFLEN / 64u);
|
||||||
|
|
||||||
if (outputMultiplier == 0u) {
|
if (outputMultiplier == 0u) {
|
||||||
@@ -203,6 +203,7 @@ devlist_node listUSBDevices(char **message) {
|
|||||||
} else {
|
} else {
|
||||||
*message = "Can't find Infinite Noise Multiplier.";
|
*message = "Can't find Infinite Noise Multiplier.";
|
||||||
}
|
}
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
devlist_node return_list = malloc(sizeof(struct infnoise_devlist_node));
|
devlist_node return_list = malloc(sizeof(struct infnoise_devlist_node));
|
||||||
devlist_node current_entry = return_list;
|
devlist_node current_entry = return_list;
|
||||||
@@ -212,11 +213,10 @@ devlist_node listUSBDevices(char **message) {
|
|||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
if (!isSuperUser()) {
|
if (!isSuperUser()) {
|
||||||
*message = "Can't find Infinite Noise Multiplier. Try running as super user?";
|
*message = "Can't find Infinite Noise Multiplier. Try running as super user?";
|
||||||
return NULL;
|
|
||||||
} else {
|
} else {
|
||||||
//todo: *message = "ftdi_usb_get_strings failed: %d (%s)\n", rc, ftdi_get_error_string(&ftdic));
|
sprintf(*message, "ftdi_usb_get_strings failed: %d (%s)", rc, ftdi_get_error_string(&ftdic));
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
current_entry->id = i;
|
current_entry->id = i;
|
||||||
strcpy(current_entry->serial, serial);
|
strcpy(current_entry->serial, serial);
|
||||||
|
|||||||
Reference in New Issue
Block a user