diff mbox

[edk2,1/2] MdePkg: BaseOrderedCollectionRedBlackTreeLib: silence invalid gcc warning

Message ID 1407923369-30959-2-git-send-email-lersek@redhat.com
State New
Headers show

Commit Message

Laszlo Ersek Aug. 13, 2014, 9:49 a.m. UTC
Gcc-4.4 reports the following build failure:

  BaseOrderedCollectionRedBlackTreeLib.c:
    In function 'OrderedCollectionInsert':
  BaseOrderedCollectionRedBlackTreeLib.c:586:
    error: 'Result' may be used uninitialized in this function

This is incorrect. There are two areas of use of Result to consider:

- In the very first while loop. The warning is likely not about this code
  area, because Result is assigned directly before use.

- The last use of Result in the function. The build warning / error is
  incorrect. For Result to be uninitialized at that point, the very first
  while loop must not have been entered at all (because that loop assigns
  a value to Result). However, if that loop is never entered, then Parent
  is still NULL. And Parent==NULL implies that the use of Result is never
  reached, because we jump to the Done label just before it.

Assign an irrelevant value of 0 to Result at the beginning of the function
in order to silence the incorrect warning.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 .../BaseOrderedCollectionRedBlackTreeLib.c                               | 1 +
 1 file changed, 1 insertion(+)
diff mbox

Patch

diff --git a/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.c b/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.c
index fc554b7..9f40b70 100644
--- a/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.c
+++ b/MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.c
@@ -589,6 +589,7 @@  OrderedCollectionInsert (
 
   Tmp = Tree->Root;
   Parent = NULL;
+  Result = 0;
 
   //
   // First look for a collision, saving the last examined node for the case