From ff838972cfef660cabfe7224d50459d5148b5f64 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 10 Jan 2012 18:14:40 -0600 Subject: [PATCH] qcdm: don't segfault getting number of log items Not sure how this worked before at all. --- libqcdm/src/commands.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/libqcdm/src/commands.c b/libqcdm/src/commands.c index d48d1e9f..f21b9235 100644 --- a/libqcdm/src/commands.c +++ b/libqcdm/src/commands.c @@ -1157,13 +1157,15 @@ qcdm_cmd_ext_logmask_new (char *buf, memset (cmd, 0, sizeof (*cmd)); cmd->code = DIAG_CMD_EXT_LOGMASK; - for (i = 0; items[i] > 0; i++) { - qcdm_warn_if_fail (items[i] > 0); - qcdm_warn_if_fail (items[i] < 4095); - cmd->mask[items[i] / 8] |= 1 << items[i] % 8; + if (items) { + for (i = 0; items[i] > 0; i++) { + qcdm_warn_if_fail (items[i] > 0); + qcdm_warn_if_fail (items[i] < 4095); + cmd->mask[items[i] / 8] |= 1 << items[i] % 8; - if (items[i] > highest) - highest = items[i]; + if (items[i] > highest) + highest = items[i]; + } } qcdm_return_val_if_fail (highest <= maxlog, 0);