Explicitly check sscanf(3) and fscanf(3) return values

Compare the return value of sscanf(3) and fscanf(3) explicitly against
the expected number of parsed items and avoid implicit boolean
conversion.  Such an implicit conversion would treat EOF (-1) the same
as at least one item parsed successfully.

Reported by CodeQL.
5 files changed
tree: 56bec236e69248302b79a9548cf1aa4aaf323775
  1. .github/
  2. darwin/
  3. docs/
  4. dragonflybsd/
  5. freebsd/
  6. generic/
  7. iwyu/
  8. linux/
  9. netbsd/
  10. openbsd/
  11. pcp/
  12. scripts/
  13. solaris/
  14. unsupported/
  15. zfs/
  16. .editorconfig
  17. .gitignore
  18. .travis.yml
  19. Action.c
  20. Action.h
  21. Affinity.c
  22. Affinity.h
  23. AffinityPanel.c
  24. AffinityPanel.h
  25. AUTHORS
  26. autogen.sh
  27. AvailableColumnsPanel.c
  28. AvailableColumnsPanel.h
  29. AvailableMetersPanel.c
  30. AvailableMetersPanel.h
  31. BatteryMeter.c
  32. BatteryMeter.h
  33. CategoriesPanel.c
  34. CategoriesPanel.h
  35. ChangeLog
  36. ClockMeter.c
  37. ClockMeter.h
  38. ColorsPanel.c
  39. ColorsPanel.h
  40. ColumnsPanel.c
  41. ColumnsPanel.h
  42. CommandLine.c
  43. CommandLine.h
  44. CommandScreen.c
  45. CommandScreen.h
  46. Compat.c
  47. Compat.h
  48. configure.ac
  49. CONTRIBUTING.md
  50. COPYING
  51. CPUMeter.c
  52. CPUMeter.h
  53. CRT.c
  54. CRT.h
  55. DateMeter.c
  56. DateMeter.h
  57. DateTimeMeter.c
  58. DateTimeMeter.h
  59. DiskIOMeter.c
  60. DiskIOMeter.h
  61. DisplayOptionsPanel.c
  62. DisplayOptionsPanel.h
  63. DynamicColumn.c
  64. DynamicColumn.h
  65. DynamicMeter.c
  66. DynamicMeter.h
  67. DynamicScreen.c
  68. DynamicScreen.h
  69. EnvScreen.c
  70. EnvScreen.h
  71. FileDescriptorMeter.c
  72. FileDescriptorMeter.h
  73. FunctionBar.c
  74. FunctionBar.h
  75. Hashtable.c
  76. Hashtable.h
  77. Header.c
  78. Header.h
  79. HeaderLayout.h
  80. HeaderOptionsPanel.c
  81. HeaderOptionsPanel.h
  82. HostnameMeter.c
  83. HostnameMeter.h
  84. htop.1.in
  85. htop.c
  86. htop.desktop
  87. htop.png
  88. htop.svg
  89. IncSet.c
  90. IncSet.h
  91. InfoScreen.c
  92. InfoScreen.h
  93. ListItem.c
  94. ListItem.h
  95. LoadAverageMeter.c
  96. LoadAverageMeter.h
  97. Machine.c
  98. Machine.h
  99. Macros.h
  100. MainPanel.c
  101. MainPanel.h
  102. Makefile.am
  103. MemoryMeter.c
  104. MemoryMeter.h
  105. MemorySwapMeter.c
  106. MemorySwapMeter.h
  107. Meter.c
  108. Meter.h
  109. MetersPanel.c
  110. MetersPanel.h
  111. NetworkIOMeter.c
  112. NetworkIOMeter.h
  113. NEWS
  114. Object.c
  115. Object.h
  116. OpenFilesScreen.c
  117. OpenFilesScreen.h
  118. OptionItem.c
  119. OptionItem.h
  120. Panel.c
  121. Panel.h
  122. pcp-htop.5.in
  123. pcp-htop.c
  124. Process.c
  125. Process.h
  126. ProcessLocksScreen.c
  127. ProcessLocksScreen.h
  128. ProcessTable.c
  129. ProcessTable.h
  130. ProvideCurses.h
  131. ProvideTerm.h
  132. README
  133. RichString.c
  134. RichString.h
  135. Row.c
  136. Row.h
  137. RowField.h
  138. Scheduling.c
  139. Scheduling.h
  140. ScreenManager.c
  141. ScreenManager.h
  142. ScreensPanel.c
  143. ScreensPanel.h
  144. ScreenTabsPanel.c
  145. ScreenTabsPanel.h
  146. Settings.c
  147. Settings.h
  148. SignalsPanel.c
  149. SignalsPanel.h
  150. SwapMeter.c
  151. SwapMeter.h
  152. SysArchMeter.c
  153. SysArchMeter.h
  154. Table.c
  155. Table.h
  156. TasksMeter.c
  157. TasksMeter.h
  158. test_spec.lua
  159. TESTPLAN
  160. TraceScreen.c
  161. TraceScreen.h
  162. UptimeMeter.c
  163. UptimeMeter.h
  164. UsersTable.c
  165. UsersTable.h
  166. Vector.c
  167. Vector.h
  168. XUtils.c
  169. XUtils.h