| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Addresses part of https://gitlab.gnome.org/GNOME/yelp/-/issues/188
|
|
|
|
|
|
|
|
|
|
|
|
| |
The transition to GUri introduced some problems with our URI mangling,
because it's more strict about URI syntax than libsoup was. This led
to absolute file paths being broken. This ought to do it. Some day I
might redo all of this, because it's a sloppy pile of legacy that's
been monkeypatched thru half a dozen API changes in other libraries.
That day is not today.
Fixes #182
cf https://bugzilla.redhat.com/show_bug.cgi?id=1997839
|
| |
|
| |
|
| |
|
|
|
|
|
| |
One step color to removing color computation and complex HTML
formatting from C.
|
|\ |
|
| |
| |
| |
| |
| | |
Should have been doing this since long ago, but I suspect the chain
of includes happened to gloss over this omission before.
|
| |
| |
| |
| |
| | |
This removes the direct dependency on libsoup, so that yelp doesn't need
to be migrated to libsoup3.
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
| |
libxml memory management is quite uncleary, but I believe priv->cache
has ownership of priv->mallard_ns, so the later is invalidated when the
former is freed. We need to recreate it here.
Reportedly fixes #122 for Shaun. (I was still seeing another crash, but
it's probably a separate issue.)
|
|
|
|
| |
Fixes https://gitlab.gnome.org/GNOME/yelp/-/issues/148
|
|
|
|
| |
Fixes https://gitlab.gnome.org/GNOME/yelp/-/issues/137
|
| |
|
|
|
|
|
|
| |
We do weird things to URIs to make WebKit happy. But if we're just
looking at a local HTML file with a file: URI, WebKit is perfectly
happy with the URI just the way it is. I hope.
|
| |
|
|
|
|
|
| |
WebKitGTK supports back-forward navigation gesture since 2.23.90. Make use
of it in Yelp.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Error: UNUSED_VALUE (CWE-563): [#def25]
yelp-3.28.1/libyelp/yelp-man-document.c:422: value_overwrite: Overwriting previous write to "encoding" with value from "langmap[i].encoding".
yelp-3.28.1/libyelp/yelp-man-document.c:416: assigned_pointer: Assigning value from ""ISO-8859-1"" to "encoding" here, but that stored value is overwritten before it can be used.
414| encoding = g_getenv("MAN_ENCODING");
415| if (encoding == NULL)
416|-> encoding = "ISO-8859-1";
417|
418| if (language != NULL) {
Error: CLANG_WARNING: [#def26]
yelp-3.28.1/libyelp/yelp-man-document.c:416:2: warning: Value stored to 'encoding' is never read
encoding = "ISO-8859-1";
^ ~~~~~~~~~~~~
yelp-3.28.1/libyelp/yelp-man-document.c:416:2: note: Value stored to 'encoding' is never read
encoding = "ISO-8859-1";
^ ~~~~~~~~~~~~
414| encoding = g_getenv("MAN_ENCODING");
415| if (encoding == NULL)
416|-> encoding = "ISO-8859-1";
417|
418| if (language != NULL) {
Error: CLANG_WARNING: [#def27]
yelp-3.28.1/libyelp/yelp-man-document.c:422:3: warning: Value stored to 'encoding' is never read
encoding = langmap[i].encoding;
^ ~~~~~~~~~~~~~~~~~~~
yelp-3.28.1/libyelp/yelp-man-document.c:422:3: note: Value stored to 'encoding' is never read
encoding = langmap[i].encoding;
^ ~~~~~~~~~~~~~~~~~~~
420| for (i = 0; langmap[i].language != NULL; i++) {
421| if (g_str_equal (language, langmap[i].language)) {
422|-> encoding = langmap[i].encoding;
423| break;
424| }
|
|
|
|
|
|
|
|
|
|
|
| |
4. yelp-3.28.1/libyelp/yelp-info-parser.c:959:2: note: Value stored to 'pages' is never read
pages = 0;
^ ~
957| (GDestroyNotify) gtk_tree_iter_free);
958|
959|-> pages = 0;
960| for (ptr = page_list; *ptr != NULL; ptr++)
961| {
|
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-mallard-document.c:341: var_compare_op: Comparing "path" to null implies that "path" might be null.
yelp-3.28.1/libyelp/yelp-mallard-document.c:346: var_deref_op: Dereferencing null pointer "path".
|
|
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-uri-builder.c:81: returned_null: "strstr" returns null (checked 10 out of 12 times).
yelp-3.28.1/libyelp/yelp-uri-builder.c:81: var_assigned: Assigning: "resource" = null return value from "strstr".
yelp-3.28.1/libyelp/yelp-uri-builder.c:82: dereference: Incrementing a pointer which might be null: "resource".
|
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-transform.c:501: deref_ptr: Directly dereferencing pointer "ctxt".
yelp-3.28.1/libyelp/yelp-transform.c:504: check_after_deref: Null-checking "ctxt" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
|
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-man-parser.c:1194: var_decl: Declaring variable "ws_start" without initializer.
yelp-3.28.1/libyelp/yelp-man-parser.c:1202: uninit_use: Using uninitialized value "ws_start".
|
|
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-man-parser.c:549: error[invalidScanfFormatWidth]: Width 10 given in format string (no. 2) is larger than destination buffer 'name[10]', use %9s to prevent overflowing it.
yelp-3.28.1/libyelp/yelp-man-parser.c:926: error[invalidScanfFormatWidth]: Width 16 given in format string (no. 1) is larger than destination buffer 'name[16]', use %15s to prevent overflowing it.
|
|
|
|
|
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-man-parser.c:464: cond_at_most: Checking "k > 8U" implies that "k" may be up to 8 on the false branch.
yelp-3.28.1/libyelp/yelp-man-parser.c:469: overrun-local: Overrunning array "parser->font_registers" of 8 8-byte elements at element index 8 (byte offset 64) using index "k" (which evaluates to 8).
yelp-3.28.1/libyelp/yelp-man-parser.c:476: assignment: Assigning: "k" = "parser->current_font".
yelp-3.28.1/libyelp/yelp-man-parser.c:477: cond_at_most: Checking "k > 8U" implies that "k" and "parser->current_font" may be up to 8 on the false branch.
yelp-3.28.1/libyelp/yelp-man-parser.c:477: overrun-local: Overrunning array "parser->font_registers" of 8 8-byte elements at element index 8 (byte offset 64) using index "k" (which evaluates to 8).
|
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-man-parser.c:445: var_compare_op: Comparing "parser" to null implies that "parser" might be null.
yelp-3.28.1/libyelp/yelp-man-parser.c:449: var_deref_op: Dereferencing null pointer "parser".
|
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-mallard-document.c:1002: deref_ptr: Directly dereferencing pointer "index".
yelp-3.28.1/libyelp/yelp-mallard-document.c:1073: check_after_deref: Null-checking "index" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
|
|
|
|
|
|
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-info-parser.c:1174: var_decl: Declaring variable "menu_node" without initializer.
yelp-3.28.1/libyelp/yelp-info-parser.c:1310: uninit_use: Using uninitialized value "menu_node".
1308| else if (*(menuitems[i]) != '\0') {
1309| tmp = g_strconcat ("\n", first_non_space (menuitems[i]), NULL);
1310|-> xmlNewTextChild (mholder ? mholder : menu_node,
1311| NULL, BAD_CAST "para1",
1312| BAD_CAST tmp);
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-info-parser.c:766: dereference: Dereferencing a pointer that might be null "node" when calling "strncmp".
|
|
|
|
|
|
|
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-docbook-document.c:1058: check_after_deref: Null-checking "index" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
yelp-3.28.1/libyelp/yelp-docbook-document.c:1026: deref_ptr: Directly dereferencing pointer "index".
yelp-3.28.1/libyelp/yelp-docbook-document.c:1054: deref_ptr: Directly dereferencing pointer "index".
1052| if (filename != NULL)
1053| g_free (filename);
1054|-> if (index->doc != NULL)
1055| xmlFreeDoc (index->doc);
1056| if (index->doc_uri != NULL)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
yelp-3.28.1/libyelp/yelp-docbook-document.c:562:13: note: Access to field 'ns' results in a dereference of a null pointer (loaded from field 'xmlcur')
if (priv->xmlcur->ns) {
^ ~~~~~~
560| * unique value, and insert it into the in-memory tree */
561| g_snprintf (autoidstr, 20, "//autoid-%d", ++autoid);
562|-> if (priv->xmlcur->ns) {
563| xmlNewNsProp (priv->xmlcur,
564| xmlNewNs (priv->xmlcur, XML_XML_NAMESPACE, BAD_CAST "xml"),
yelp-3.28.1/libyelp/yelp-docbook-document.c:608:16: note: Access to field 'children' results in a dereference of a null pointer (loaded from field 'xmlcur')
for (cur = priv->xmlcur->children; cur; cur = cur->next) {
^ ~~~~~~
606| NULL);
607|
608|-> for (cur = priv->xmlcur->children; cur; cur = cur->next) {
609| if (cur->type == XML_ELEMENT_NODE) {
610| priv->xmlcur = cur;
|
|
|
|
| |
Silence a compiler warning.
|
| |
|
|
|
|
|
|
| |
Yelp enables -Werror by default, so it's responsible for predicting and
fixing future compiler warnings that only an oracle could know about. In
this case, that turned out to be -Werror=cast-function-type.
|
| |
|
|
|
|
|
| |
This avoids triggering -Werror=incompatible-pointer-type after the
g_object_ref/unref type propagation change.
|
|
|
|
|
|
| |
This was introduced in WebKitGTK+ 2.19.2.
https://bugzilla.gnome.org/show_bug.cgi?id=790728
|
|
|
|
|
| |
Yelp has used the wrong namespace on the cache element since forever.
yelp-xsl didn't care before. Now it does.
|
|
|
|
|
|
| |
They are not user-visible.
https://bugzilla.gnome.org/show_bug.cgi?id=757496
|
|
|
|
|
|
|
|
|
|
|
| |
It's undesirable for Yelp to live on the edge, depending on API/ABI that
can change at any time, without us noticing, without any WebKit soname
bump. So the unstable API has been removed from WebKit. All API needed
by Yelp is now stable.
And there was much rejoicing in the streets!
https://bugzilla.gnome.org/show_bug.cgi?id=773551
|
|
|
|
|
|
|
|
|
|
| |
When an uncompressed info page is specified, function
yelp_magic_decompressor_convert always returns G_CONVERTER_CONVERTED.
This causes file loading to never be completed because function
g_input_stream_read keeps waiting for new data until the converter
returns G_CONVERTER_FINISHED.
https://bugzilla.gnome.org/show_bug.cgi?id=775603
|
| |
|
|
|
|
|
|
|
|
|
| |
This ensures that we only free the async data struct when the document is
guaranteed to be done calling our callback. Without this, we risk
potentially accessing the async request data after we have freed it
when a mallard document reloads.
https://bugzilla.gnome.org/show_bug.cgi?id=778258
|
|
|
|
| |
resource_file was left uninitialized.
|
|
|
|
|
|
|
| |
WebKitPrintOperation is not a GtkPrintOperation so the cast here was
invalid. This fixes <ctrl>p to show the print dialog.
https://bugzilla.gnome.org/show_bug.cgi?id=778256
|
|
|
|
|
|
|
| |
This is happening in basically every application, due to implementation
changes in GtkStyleContext
https://bugzilla.gnome.org/show_bug.cgi?id=761577
|
|
|
|
|
|
|
|
|
| |
It's a GSourceFunc, so it'd better return a gboolean. This doesn't seem
to be causing any problems in Fedora, but in Endless it's causing 100%
CPU usage after executing a search, because the source never gets
removed.
https://bugzilla.gnome.org/show_bug.cgi?id=761647
|