diff --git a/Asuro.iso b/Asuro.iso index e8fcf650..f3867396 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index e09c77f7..fadc1f94 100755 Binary files a/bin/kernel.bin and b/bin/kernel.bin differ diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index e09c77f7..fadc1f94 100755 Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ diff --git a/lib/arp.ppu b/lib/arp.ppu index 386f09cd..32e11c98 100644 Binary files a/lib/arp.ppu and b/lib/arp.ppu differ diff --git a/lib/asuro.ppu b/lib/asuro.ppu index b5d87b37..39ae4139 100644 Binary files a/lib/asuro.ppu and b/lib/asuro.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 547a1558..a84f5c9f 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index f9299b2f..0bfe648e 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index bddebf78..0e9a07b9 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/lib/shell.ppu b/lib/shell.ppu index f1e0b246..c1809da2 100644 Binary files a/lib/shell.ppu and b/lib/shell.ppu differ diff --git a/lib/terminal.ppu b/lib/terminal.ppu index f015145a..f19fff64 100644 Binary files a/lib/terminal.ppu and b/lib/terminal.ppu differ diff --git a/src/driver/net/l3/arp.pas b/src/driver/net/l3/arp.pas index 2743e4c7..b38c1ad7 100644 --- a/src/driver/net/l3/arp.pas +++ b/src/driver/net/l3/arp.pas @@ -34,11 +34,13 @@ var begin push_trace('arp.findCacheRecordByMAC'); findCacheRecordByMAC:= nil; - for i:=0 to LL_Size(Cache)-1 do begin - r:= PARPCacheRecord(LL_Get(Cache, i)); - if MACEqual(mac, @r^.MAC[0]) then begin - findCacheRecordByMAC:= r; - break; + if LL_Size(Cache) > 0 then begin + for i:=0 to LL_Size(Cache)-1 do begin + r:= PARPCacheRecord(LL_Get(Cache, i)); + if MACEqual(mac, @r^.MAC[0]) then begin + findCacheRecordByMAC:= r; + break; + end; end; end; pop_trace; @@ -52,11 +54,13 @@ var begin push_trace('arp.findCacheRecordByIP'); findCacheRecordByIP:= nil; - for i:=0 to LL_Size(Cache)-1 do begin - r:= PARPCacheRecord(LL_Get(Cache, i)); - if IPEqual(ip, @r^.IP[0]) then begin - findCacheRecordByIP:= r; - break; + if LL_Size(Cache) > 0 then begin + for i:=0 to LL_Size(Cache)-1 do begin + r:= PARPCacheRecord(LL_Get(Cache, i)); + if IPEqual(ip, @r^.IP[0]) then begin + findCacheRecordByIP:= r; + break; + end; end; end; pop_trace; diff --git a/src/include/asuro.pas b/src/include/asuro.pas index 425fdfa9..b588256d 100644 --- a/src/include/asuro.pas +++ b/src/include/asuro.pas @@ -9,14 +9,14 @@ const VERSION_SUB = '1'; REVISION = '677'; RELEASE = 'ia'; - LINE_COUNT = 27776; + LINE_COUNT = 27780; FILE_COUNT = 89; DRIVER_COUNT = 32; FPC_VERSION = '2.6.4'; NASM_VERSION = '2.10.09'; MAKE_VERSION = '3.81'; COMPILE_DATE = '10/05/18'; - COMPILE_TIME = '12:00:46'; + COMPILE_TIME = '12:02:46'; implementation