瀏覽代碼

Fix read of uninitialised variable

If the condition (dbus->message_iter_get_arg_type(&sub) == DBUS_TYPE_STRING) is false, subtext is not initialised.
Mathieu Eyraud 4 年之前
父節點
當前提交
00b95e989b
共有 1 個文件被更改,包括 1 次插入 和 0 次删除
  1. 1 0
      src/core/linux/SDL_fcitx.c

+ 1 - 0
src/core/linux/SDL_fcitx.c

@@ -105,6 +105,7 @@ Fcitx_GetPreeditString(SDL_DBusContext *dbus,
         dbus->message_iter_recurse(&iter, &array);
         dbus->message_iter_recurse(&iter, &array);
         while (dbus->message_iter_get_arg_type(&array) == DBUS_TYPE_STRUCT) {
         while (dbus->message_iter_get_arg_type(&array) == DBUS_TYPE_STRUCT) {
             dbus->message_iter_recurse(&array, &sub);
             dbus->message_iter_recurse(&array, &sub);
+            subtext = NULL;
             if (dbus->message_iter_get_arg_type(&sub) == DBUS_TYPE_STRING) {
             if (dbus->message_iter_get_arg_type(&sub) == DBUS_TYPE_STRING) {
                 dbus->message_iter_get_basic(&sub, &subtext);
                 dbus->message_iter_get_basic(&sub, &subtext);
                 if (subtext && *subtext) {
                 if (subtext && *subtext) {