[PATCH] Fix the taint flag check.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Turns out, the taint flag is really a bitmask so we need to check a specific
bit instead of just checking for a single number.

Related: rhbz#623140
---
 loader/loader.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/loader/loader.c b/loader/loader.c
index 08b8c3c..e54c836 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -1209,6 +1209,7 @@ static void checkForRam(int install_method) {
 }
 
 static void checkTaintFlag(void) {
+    unsigned long l;
     gchar *contents = NULL;
     GError *fileErr = NULL;
 
@@ -1218,7 +1219,15 @@ static void checkTaintFlag(void) {
         return;
     }
 
-    if (g_ascii_strncasecmp(contents, "0", 1)) {
+    errno = 0;
+    l = strtol(contents, NULL, 10);
+    if (errno == EINVAL || errno == ERANGE) {
+        logMessage(ERROR, "%s (%d): %m", __func__, __LINE__);
+        g_free(contents);
+        return;
+    }
+
+    if (l & (1 << 28)) {
         startNewt();
         newtWinMessage(_("Unsupported Hardware Detected"), _("OK"),
                        _("This hardware (or a combination thereof) is not "
-- 
1.7.1.1

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux