don't exit on failed initialization (would crash the page) - surf-adblock - Surf adblock web extension
(HTM) git clone git://git.codemadness.org/surf-adblock
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 1b2fa25986e2fbbecc4caa7a220364536fdab2af
(DIR) parent c08593ce08d4b64713b3d8dd5433e9226d9df018
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 17 Jul 2016 14:07:23 +0200
don't exit on failed initialization (would crash the page)
we still have to think how to handle OOM situations.
Diffstat:
M surf-adblock.c | 30 ++++++++++++++++++++++++------
1 file changed, 24 insertions(+), 6 deletions(-)
---
(DIR) diff --git a/surf-adblock.c b/surf-adblock.c
@@ -112,6 +112,18 @@ static String globalcss;
static struct filterrule *rules;
static void
+weprintf(const char *fmt, ...)
+{
+ va_list ap;
+
+ fprintf(stderr, "surf-adblock: ");
+
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+}
+
+static void
eprintf(const char *fmt, ...)
{
va_list ap;
@@ -827,15 +839,21 @@ webkit_web_extension_initialize(WebKitWebExtension *ext)
n = snprintf(filepath, sizeof(filepath),
"%s%s.surf/adblockrules", e, e[0] ? "/" : "");
}
- if (n < 0 || (size_t)n >= sizeof(filepath))
- eprintf("fatal: rules file path too long");
+ if (n < 0 || (size_t)n >= sizeof(filepath)) {
+ weprintf("fatal: rules file path too long");
+ return;
+ }
- if (!(fp = fopen(filepath, "r")))
- eprintf("fatal: cannot open rules file %s: %s\n",
+ if (!(fp = fopen(filepath, "r"))) {
+ weprintf("fatal: cannot open rules file %s: %s\n",
filepath, strerror(errno));
- if (!(rules = loadrules(fp)))
- eprintf("fatal: cannot read rules file %s: %s\n",
+ return;
+ }
+ if (!(rules = loadrules(fp))) {
+ weprintf("fatal: cannot read rules file %s: %s\n",
filepath, strerror(errno));
+ return;
+ }
fclose(fp);
/* general CSS rules: all sites */