Add null hash table entry checks to SysCommsModule & UtilityModule hash table lookup
Jeffrey Lee authored
Detail:
  s/Oscli - In SysCommsHashedLookup and UtilCommsHashedLookup, check for null hash table entries instead of just blindly calling ModCommsLookUp_AltEntry.
  This fixes an issue where a crash will occur iff:
  (a) You enter a command which has no entry in one of the two hash tables
  (b) The command is a valid command (with a code entry point) if you reinterpret the corresponding module header as a command table
  In reality, for recent versions of RISC OS 5, you'll get a crash only when trying to execute the command 's'. Some previous OS versions (e.g. 5.12) appear to have been immune to the crash.
  If (a) was true but (b) was false the bug would have also resulted in a small performance hit caused by attempting to scan the module headers for matching commands.
Admin:
  Tested in Tungsten & OMAP ROM builds
  's' no longer crashes, and commands included in the two hash tables still seem to function as normal.
  Fixes issue reported on forums:
  http://www.riscosopen.org/forum/forums/4/topics/902


Version 5.35, 4.79.2.135. Tagged as 'Kernel-5_35-4_79_2_135'
97f47c50
Name Last commit Last update
..
AMBControl Add zero page relocation support
PMF Rationalise some old switches.
vdu Improve heap manager. Add heap testbed. Add dummy implementation of some OS_ScreenMode reason codes.
ARM600 Reindent Arthur2.
ARMops Reindent Arthur2.
Arthur2 Conversions rationalisation.
Arthur3 Improve heap manager. Add heap testbed. Add dummy implementation of some OS_ScreenMode reason codes.
ArthurSWIs Fix OS_Heap 4. Fix stack imbalance in system heap code.
ChangeDyn Fix objasm 4 warnings
Convrsions Added 'UnConv' error (see also HdrSrc).
End Commit of kernel as featured in release 5.00.
ExtraSWIs Add zero page relocation support
FlashROM 32-bit Kernel.
GetAll Get of international module header.
HAL Fix objasm 4 warnings
HeapMan Fix OS_Heap 4. Fix stack imbalance in system heap code.
HeapSort Rationalise some old switches.
KbdResA1 32-bit Kernel.
KbdResPC Add zero page relocation support
KbdResRCMM Reimplement enhancements to kernel Dynamic Area support from
Kernel Rationalise some old switches.
LibKern More HAL work. IOMD HAL work in progress. Lots of my own little build scripts. Don't touch this.
MEMC1 Import from cleaned 360 CD
MEMC2 Import from cleaned 360 CD
MOSDict Import from cleaned 360 CD
MemInfo
Middle
ModHand
MoreComms
MoreSWIs
Morris
MsgCode
NewIRQs
NewReset
Oscli
SWINaming
Super1
SysComms
TickEvents
UnSqueeze
Utility
VMSAv6