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

Re: [PATCH] Fix the taint flag check.



On Thu, 3 Feb 2011, Chris Lumens wrote:

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 "


Ack.

--
David Cantrell <dcantrell redhat com>
Supervisor, Installer Engineering Team
Red Hat, Inc. | Honolulu, HI | UTC-10


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