i sometimes mix these up... :\
>From da44dcf9798abee8b6fdcf0acaf5d09868f9d879 Mon Sep 17 00:00:00 2001
From: Tamas TEVESZ <[email protected]>
Date: Thu, 23 Sep 2010 03:24:35 +0200
Subject: [PATCH] Fix some off-by-ones
Signed-off-by: Tamas TEVESZ <[email protected]>
---
WINGs/error.c | 20 ++++++++++----------
util/setstyle.c | 2 +-
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/WINGs/error.c b/WINGs/error.c
index 8bfe15e..5661a04 100644
--- a/WINGs/error.c
+++ b/WINGs/error.c
@@ -43,36 +43,36 @@ void __wmessage(int type, void *extra, const char *msg, ...)
va_start(args, msg);
switch (type) {
case WMESSAGE_TYPE_WARNING:
- snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) -
1,
_("warning: "));
- vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf)
- 1,
msg, args);
break;
case WMESSAGE_TYPE_FATAL:
- snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) -
1,
_("fatal error: "));
- vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf)
- 1,
msg, args);
break;
case WMESSAGE_TYPE_WSYSERROR:
case WMESSAGE_TYPE_WSYSERRORWITHCODE:
- snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) -
1,
_("error: "));
- vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf)
- 1,
msg, args);
- snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) -
1,
": %s", type == WMESSAGE_TYPE_WSYSERROR ?
strerror(errno) : strerror(*(int *)extra));
break;
case WMESSAGE_TYPE_MESSAGE:
/* FALLTHROUGH */
default:
- snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
": ");
- vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
msg, args);
+ snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) -
1, ": ");
+ vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf)
- 1, msg, args);
break;
}
va_end(args);
- strncat(buf + strlen(buf), "\n", sizeof(buf) - strlen(buf) - 1);
+ strncat(buf + strlen(buf), "\n", sizeof(buf) - strlen(buf));
fputs(buf, stderr);
}
diff --git a/util/setstyle.c b/util/setstyle.c
index fa62ae9..a3b50b4 100644
--- a/util/setstyle.c
+++ b/util/setstyle.c
@@ -439,7 +439,7 @@ int main(int argc, char **argv)
perror(file);
return 1;
}
- strncat(buf, "/style", sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, "/style", sizeof(buf) - strlen(buf));
if (stat(buf, &st) != 0 || !S_ISREG(st.st_mode)) { /*
maybe symlink too? */
printf("%s: %s: style file not found or not a file\n",
__progname, buf);
--
1.7.0.4
--
[-]
mkdir /nonexistentFrom da44dcf9798abee8b6fdcf0acaf5d09868f9d879 Mon Sep 17 00:00:00 2001
From: Tamas TEVESZ <[email protected]>
Date: Thu, 23 Sep 2010 03:24:35 +0200
Subject: [PATCH] Fix some off-by-ones
Signed-off-by: Tamas TEVESZ <[email protected]>
---
WINGs/error.c | 20 ++++++++++----------
util/setstyle.c | 2 +-
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/WINGs/error.c b/WINGs/error.c
index 8bfe15e..5661a04 100644
--- a/WINGs/error.c
+++ b/WINGs/error.c
@@ -43,36 +43,36 @@ void __wmessage(int type, void *extra, const char *msg, ...)
va_start(args, msg);
switch (type) {
case WMESSAGE_TYPE_WARNING:
- snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) - 1,
_("warning: "));
- vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) - 1,
msg, args);
break;
case WMESSAGE_TYPE_FATAL:
- snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) - 1,
_("fatal error: "));
- vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) - 1,
msg, args);
break;
case WMESSAGE_TYPE_WSYSERROR:
case WMESSAGE_TYPE_WSYSERRORWITHCODE:
- snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) - 1,
_("error: "));
- vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) - 1,
msg, args);
- snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
+ snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) - 1,
": %s", type == WMESSAGE_TYPE_WSYSERROR ?
strerror(errno) : strerror(*(int *)extra));
break;
case WMESSAGE_TYPE_MESSAGE:
/* FALLTHROUGH */
default:
- snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), ": ");
- vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), msg, args);
+ snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) - 1, ": ");
+ vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) - 1, msg, args);
break;
}
va_end(args);
- strncat(buf + strlen(buf), "\n", sizeof(buf) - strlen(buf) - 1);
+ strncat(buf + strlen(buf), "\n", sizeof(buf) - strlen(buf));
fputs(buf, stderr);
}
diff --git a/util/setstyle.c b/util/setstyle.c
index fa62ae9..a3b50b4 100644
--- a/util/setstyle.c
+++ b/util/setstyle.c
@@ -439,7 +439,7 @@ int main(int argc, char **argv)
perror(file);
return 1;
}
- strncat(buf, "/style", sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, "/style", sizeof(buf) - strlen(buf));
if (stat(buf, &st) != 0 || !S_ISREG(st.st_mode)) { /* maybe symlink too? */
printf("%s: %s: style file not found or not a file\n", __progname, buf);
--
1.7.0.4