r9698 jmb - /trunk/netsurf/framebuffer/fbtk.c
by netsurf@semichrome.net
Author: jmb
Date: Sun Nov 22 08:32:36 2009
New Revision: 9698
URL: http://source.netsurf-browser.org?rev=9698&view=rev
Log:
Actually check for realloc failing
Modified:
trunk/netsurf/framebuffer/fbtk.c
Modified: trunk/netsurf/framebuffer/fbtk.c
URL: http://source.netsurf-browser.org/trunk/netsurf/framebuffer/fbtk.c?rev=96...
==============================================================================
--- trunk/netsurf/framebuffer/fbtk.c (original)
+++ trunk/netsurf/framebuffer/fbtk.c Sun Nov 22 08:32:36 2009
@@ -671,10 +671,17 @@
default:
/* allow for new character and null */
- widget->u.text.text = realloc(widget->u.text.text, widget->u.text.idx + 2);
- widget->u.text.text[widget->u.text.idx] = value;
- widget->u.text.text[widget->u.text.idx + 1] = '\0';
- widget->u.text.idx++;
+ {
+ char *temp = realloc(widget->u.text.text,
+ widget->u.text.idx + 2);
+ if (temp != NULL) {
+ widget->u.text.text = temp;
+ widget->u.text.text[widget->u.text.idx] = value;
+ widget->u.text.text[widget->u.text.idx + 1] =
+ '\0';
+ widget->u.text.idx++;
+ }
+ }
break;
}
13 years, 6 months
r9697 jmb - /trunk/netsurf/framebuffer/fbtk.c
by netsurf@semichrome.net
Author: jmb
Date: Sun Nov 22 08:27:56 2009
New Revision: 9697
URL: http://source.netsurf-browser.org?rev=9697&view=rev
Log:
Fix array bounds check
Modified:
trunk/netsurf/framebuffer/fbtk.c
Modified: trunk/netsurf/framebuffer/fbtk.c
URL: http://source.netsurf-browser.org/trunk/netsurf/framebuffer/fbtk.c?rev=96...
==============================================================================
--- trunk/netsurf/framebuffer/fbtk.c (original)
+++ trunk/netsurf/framebuffer/fbtk.c Sun Nov 22 08:27:56 2009
@@ -29,6 +29,7 @@
#include <libnsfb_event.h>
#include <libnsfb_cursor.h>
+#include "utils/utils.h"
#include "utils/log.h"
#include "css/css.h"
#include "desktop/browser.h"
@@ -1351,10 +1352,10 @@
int ucs4 = -1;
if (mods) {
- if ((code >= 0) && (code < (int) sizeof(sh_keymap)))
+ if ((code >= 0) && (code < (int) NOF_ELEMENTS(sh_keymap)))
ucs4 = sh_keymap[code];
} else {
- if ((code >= 0) && (code < (int) sizeof(keymap)))
+ if ((code >= 0) && (code < (int) NOF_ELEMENTS(keymap)))
ucs4 = keymap[code];
}
return ucs4;
13 years, 6 months
r9696 jmb - /trunk/netsurf/content/content.c
by netsurf@semichrome.net
Author: jmb
Date: Sun Nov 22 08:24:53 2009
New Revision: 9696
URL: http://source.netsurf-browser.org?rev=9696&view=rev
Log:
This optimisation was so simple that it was broken.
Modified:
trunk/netsurf/content/content.c
Modified: trunk/netsurf/content/content.c
URL: http://source.netsurf-browser.org/trunk/netsurf/content/content.c?rev=969...
==============================================================================
--- trunk/netsurf/content/content.c (original)
+++ trunk/netsurf/content/content.c Sun Nov 22 08:24:53 2009
@@ -1098,7 +1098,7 @@
(height == 0))
return true;
/* simple optimisation for no repeat (common for backgrounds) */
- if ((!repeat_x) || (!repeat_y))
+ if ((!repeat_x) && (!repeat_y))
return handler_map[c->type].redraw(c, x, y, width,
height, clip_x0, clip_y0, clip_x1, clip_y1,
scale, background_colour);
13 years, 6 months
r9693 jmb - /trunk/netsurf/content/urldb.c
by netsurf@semichrome.net
Author: jmb
Date: Sun Nov 22 08:12:03 2009
New Revision: 9693
URL: http://source.netsurf-browser.org?rev=9693&view=rev
Log:
Ensure urldb file handle is closed on error.
Modified:
trunk/netsurf/content/urldb.c
Modified: trunk/netsurf/content/urldb.c
URL: http://source.netsurf-browser.org/trunk/netsurf/content/urldb.c?rev=9693&...
==============================================================================
--- trunk/netsurf/content/urldb.c (original)
+++ trunk/netsurf/content/urldb.c Sun Nov 22 08:12:03 2009
@@ -365,15 +365,20 @@
return;
}
- if (!fgets(s, MAXIMUM_URL_LENGTH, fp))
+ if (!fgets(s, MAXIMUM_URL_LENGTH, fp)) {
+ fclose(fp);
return;
+ }
+
version = atoi(s);
if (version < MIN_URL_FILE_VERSION) {
LOG(("Unsupported URL file version."));
+ fclose(fp);
return;
}
if (version > URL_FILE_VERSION) {
LOG(("Unknown URL file version."));
+ fclose(fp);
return;
}
13 years, 6 months
r9692 jmb - /trunk/netsurf/desktop/history_core.c
by netsurf@semichrome.net
Author: jmb
Date: Sun Nov 22 08:10:39 2009
New Revision: 9692
URL: http://source.netsurf-browser.org?rev=9692&view=rev
Log:
Squash leaks
Modified:
trunk/netsurf/desktop/history_core.c
Modified: trunk/netsurf/desktop/history_core.c
URL: http://source.netsurf-browser.org/trunk/netsurf/desktop/history_core.c?re...
==============================================================================
--- trunk/netsurf/desktop/history_core.c (original)
+++ trunk/netsurf/desktop/history_core.c Sun Nov 22 08:10:39 2009
@@ -234,20 +234,21 @@
/* allocate space */
entry = malloc(sizeof *entry);
+ if (entry == NULL)
+ return;
res = url_normalize(content->url, &url);
if (res != URL_FUNC_OK) {
warn_user("NoMemory", 0);
+ free(entry);
return;
}
title = strdup(content->title ? content->title : url);
-
- if (!entry || !url || !title) {
+ if (title == NULL) {
warn_user("NoMemory", 0);
+ free(url);
free(entry);
- free(url);
- free(title);
return;
}
13 years, 6 months