Added gtkhtml,libhildonhelp and maemopad
[oespirit1] / gtkhtml / gtkhtml_300_coverity_findings.diff
diff --git a/gtkhtml/gtkhtml_300_coverity_findings.diff b/gtkhtml/gtkhtml_300_coverity_findings.diff
new file mode 100644 (file)
index 0000000..929cb68
--- /dev/null
@@ -0,0 +1,78 @@
+diff -ru gtkhtml-3.24.4/gtkhtml/gtkhtml.c gtkhtml-3.24.4/gtkhtml/gtkhtml.c
+--- gtkhtml-3.24.4/gtkhtml/gtkhtml.c   2009-04-09 10:13:35.000000000 +0200
++++ gtkhtml-3.24.4/gtkhtml/gtkhtml.c   2009-04-09 11:28:49.000000000 +0200
+@@ -960,14 +960,14 @@
+ {
+       HTMLEngine *engine = GTK_HTML (widget)->engine;
++  if (!engine)
++    return;
++
+       /* we don't need to set font's in idle time so call idle callback directly to avoid
+          recalculating whole document
+       */
+-      if (engine) {
+-              gtk_html_set_fonts (GTK_HTML (widget), engine->painter);
+-              html_engine_refresh_fonts (engine);
+-      }
+-
++      gtk_html_set_fonts (GTK_HTML (widget), engine->painter);
++      html_engine_refresh_fonts (engine);
+       html_colorset_set_style (engine->defaultSettings->color_set, widget);
+       html_colorset_set_unchanged (engine->settings->color_set,
+@@ -2555,6 +2555,7 @@
+                                               g_return_if_fail (link);
+                                               text = g_strndup (HTML_TEXT (obj)->text + link->start_index, link->end_index - link->start_index);
+                                               utf8 = g_strconcat (complete_url, "\n", text, NULL);
++            g_free (text);
+                                       } else
+                                               utf8 = g_strconcat (complete_url, "\n", complete_url, NULL);
+@@ -2562,7 +2563,6 @@
+                                       gtk_selection_data_set (selection_data, selection_data->target, 8,
+                                                               (guchar *) utf16, written_len);
+                                       g_free (utf8);
+-                                      g_free (complete_url);
+                                       GTK_HTML (widget)->priv->dnd_url = utf16;
+                               } else {
+                                       gtk_selection_data_set (selection_data, selection_data->target, 8,
+@@ -2570,6 +2570,8 @@
+                                       /* printf ("complete URL %s\n", complete_url); */
+                                       GTK_HTML (widget)->priv->dnd_url = complete_url;
+                               }
++
++                              g_free (complete_url);
+                       }
+               }
+       }
+diff -ru gtkhtml-3.24.4/gtkhtml/htmlcheckbox.c gtkhtml-3.24.4/gtkhtml/htmlcheckbox.c
+--- gtkhtml-3.24.4/gtkhtml/htmlcheckbox.c      2008-10-13 10:31:38.000000000 +0200
++++ gtkhtml-3.24.4/gtkhtml/htmlcheckbox.c      2009-04-09 10:50:17.000000000 +0200
+@@ -110,11 +110,12 @@
+ {
+       HTMLEmbedded *element;
+       GtkWidget  *check;
++  static char *on = "on";
+       element = HTML_EMBEDDED (checkbox);
+       if (value == NULL)
+-              value = g_strdup ("on");
++              value = on; 
+       html_embedded_init (element, HTML_EMBEDDED_CLASS (klass), parent, name, value);
+diff -ru gtkhtml-3.24.4/gtkhtml/htmlclueflow.c gtkhtml-3.24.4/gtkhtml/htmlclueflow.c
+--- gtkhtml-3.24.4/gtkhtml/htmlclueflow.c      2008-10-13 10:31:38.000000000 +0200
++++ gtkhtml-3.24.4/gtkhtml/htmlclueflow.c      2009-04-09 11:27:05.000000000 +0200
+@@ -2308,7 +2308,8 @@
+                                       p += (info->forward) ? 1 : -1;
+                                       } */
+-                              while ((info->forward && index < text_bytes)
++        /* index should be lesser than text_bytes - 1 */
++                              while ((info->forward && index < (text_bytes - 1))
+                                      || (!info->forward && index >= 0)) {
+                                       rv = regexec (info->reb,
+                                                     (gchar *) par + index,