mirror of
https://github.com/hashcat/hashcat.git
synced 2024-11-29 11:28:15 +00:00
Fixed a bug in line counter: Conditional jump or move depends on uninitialised value
This commit is contained in:
parent
e80541d6dd
commit
8d85b7539d
@ -111,15 +111,19 @@ Trac.: 684
|
|||||||
|
|
||||||
Type.: Bug
|
Type.: Bug
|
||||||
File.: Kernel
|
File.: Kernel
|
||||||
Desc.: Fix a bug in the implementation of GOST R 34.11-94, zero length passwords were not cracked
|
Desc.: Fixed a bug in the implementation of GOST R 34.11-94: Zero length passwords were not cracked
|
||||||
|
|
||||||
Type.: Bug
|
Type.: Bug
|
||||||
File.: Kernel
|
File.: Kernel
|
||||||
Desc.: Fix a bug in rule-engine for NVidia devices, the code for left- and right-shift were switched
|
Desc.: Fixed a bug in rule-engine for NVidia devices: Code for left- and right-shift were switched
|
||||||
|
|
||||||
Type.: Bug
|
Type.: Bug
|
||||||
File.: Host
|
File.: Host
|
||||||
Desc.: Forced default iteration count for -m 2100 = DCC2 hashes to 10240
|
Desc.: Fixed a bug in -m 2100 = DCC2: Forced default iteration count for hashes to 10240
|
||||||
|
|
||||||
|
Type.: Bug
|
||||||
|
File.: Host
|
||||||
|
Desc.: Fixed a bug in line counter: Conditional jump or move depends on uninitialised value
|
||||||
|
|
||||||
* changes v2.00 -> v2.01:
|
* changes v2.00 -> v2.01:
|
||||||
|
|
||||||
|
@ -1843,40 +1843,21 @@ static uint count_lines (FILE *fd)
|
|||||||
|
|
||||||
char *buf = (char *) mymalloc (BUFSIZ + 1);
|
char *buf = (char *) mymalloc (BUFSIZ + 1);
|
||||||
|
|
||||||
size_t nread_tmp = 0;
|
char prev = '\n';
|
||||||
|
|
||||||
char *ptr = buf;
|
|
||||||
|
|
||||||
while (!feof (fd))
|
while (!feof (fd))
|
||||||
{
|
{
|
||||||
size_t nread = fread (buf, sizeof (char), BUFSIZ, fd);
|
size_t nread = fread (buf, sizeof (char), BUFSIZ, fd);
|
||||||
nread_tmp = nread;
|
|
||||||
|
|
||||||
if (nread < 1) continue;
|
if (nread < 1) continue;
|
||||||
|
|
||||||
ptr = buf;
|
size_t i;
|
||||||
|
|
||||||
do
|
for (i = 0; i < nread; i++)
|
||||||
{
|
{
|
||||||
if (*ptr++ == '\n') cnt++;
|
if (prev == '\n') cnt++;
|
||||||
|
|
||||||
} while (nread--);
|
prev = buf[i];
|
||||||
}
|
|
||||||
|
|
||||||
// special case (if last line did not contain a newline char ... at the very end of the file)
|
|
||||||
|
|
||||||
if (nread_tmp > 3)
|
|
||||||
{
|
|
||||||
ptr -= 2;
|
|
||||||
|
|
||||||
if (*ptr != '\n')
|
|
||||||
{
|
|
||||||
ptr--;
|
|
||||||
|
|
||||||
if (*ptr != '\n') // needed ? different on windows systems?
|
|
||||||
{
|
|
||||||
cnt++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user