Gisle Vanem
2014-02-07 16:51:33 UTC
Hello Thomas etc.
The buffer allocated by idna_to_ascii_8z() should be freed by libidn.
That's why Simon Josefsson added the idn_free(). The '(free)' caused a
crash here since my libidn (MSVC) was built without debug, but Lynx (also MSVC)
used the debug-model (-MDd). Hence:
--- orig/WWW/Library/Implementation/HTParse.c 2013-11-29 01:52:56 +0000
+++ WWW/Library/Implementation/HTParse.c 2014-02-07 17:33:03 +0000
@@ -301,7 +301,7 @@
idna_strerror((Idna_rc) code)));
}
if (output) /* "(free)" to bypass LYLeaks.c */
- (free) (output);
+ idn_free (output);
}
free(buffer);
}
------
Btw. the stuff with USE_ALT_BINDING I reported last year,
is still an issue. W/o USE_ALT_BINDINGS, I get:
src/LYEditmap.c(1754) : error C2065: 'LYModifierBindings' : undeclared identifier
src/LYEditmap.c(1754) : error C2065: 'LYModifierBindings' : undeclared identifier
src/LYEditmap.c(1754) : error C2109: subscript requires array or pointer type
src/LYEditmap.c(1755) : error C2065: 'LYModifierBindings' : undeclared identifier
src/LYEditmap.c(1755) : error C2109: subscript requires array or pointer type
src/LYEditmap.c(1755) : error C2198: 'initLineEditor' : too few arguments for call
So:
--- orig/src/LYEditmap.c 2013-11-29 01:52:56 +0000
+++ src/LYEditmap.c 2014-02-07 17:24:52 +0000
@@ -1750,9 +1750,11 @@
LYEditorNames[j] = LYLineEditors[j].name;
initLineEditor(&LYLineEditors[j]);
}
+#ifdef USE_ALT_BINDINGS
for (j = 0; j < TABLESIZE(LYModifierBindings); ++j) {
initLineEditor(&LYModifierBindings[j]);
}
+#endif
}
--------
--gv
The buffer allocated by idna_to_ascii_8z() should be freed by libidn.
That's why Simon Josefsson added the idn_free(). The '(free)' caused a
crash here since my libidn (MSVC) was built without debug, but Lynx (also MSVC)
used the debug-model (-MDd). Hence:
--- orig/WWW/Library/Implementation/HTParse.c 2013-11-29 01:52:56 +0000
+++ WWW/Library/Implementation/HTParse.c 2014-02-07 17:33:03 +0000
@@ -301,7 +301,7 @@
idna_strerror((Idna_rc) code)));
}
if (output) /* "(free)" to bypass LYLeaks.c */
- (free) (output);
+ idn_free (output);
}
free(buffer);
}
------
Btw. the stuff with USE_ALT_BINDING I reported last year,
is still an issue. W/o USE_ALT_BINDINGS, I get:
src/LYEditmap.c(1754) : error C2065: 'LYModifierBindings' : undeclared identifier
src/LYEditmap.c(1754) : error C2065: 'LYModifierBindings' : undeclared identifier
src/LYEditmap.c(1754) : error C2109: subscript requires array or pointer type
src/LYEditmap.c(1755) : error C2065: 'LYModifierBindings' : undeclared identifier
src/LYEditmap.c(1755) : error C2109: subscript requires array or pointer type
src/LYEditmap.c(1755) : error C2198: 'initLineEditor' : too few arguments for call
So:
--- orig/src/LYEditmap.c 2013-11-29 01:52:56 +0000
+++ src/LYEditmap.c 2014-02-07 17:24:52 +0000
@@ -1750,9 +1750,11 @@
LYEditorNames[j] = LYLineEditors[j].name;
initLineEditor(&LYLineEditors[j]);
}
+#ifdef USE_ALT_BINDINGS
for (j = 0; j < TABLESIZE(LYModifierBindings); ++j) {
initLineEditor(&LYModifierBindings[j]);
}
+#endif
}
--------
--gv