Tiny fixes to spamd

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Tiny fixes to spamd

William Orr-2
Loop variables are declared as ints when they're compared to size_ts.
This only becomes an issue when the config file or the output buffer
becomes unreasonably large.

Index: libexec/spamd/grey.c
===================================================================
RCS file: /cvs/src/libexec/spamd/grey.c,v
retrieving revision 1.52
diff -u -b -w -p -r1.52 grey.c
--- libexec/spamd/grey.c    2 Oct 2012 15:26:17 -0000    1.52
+++ libexec/spamd/grey.c    17 Aug 2013 22:36:43 -0000
@@ -362,7 +362,7 @@ bad:
  void
  freeaddrlists(void)
  {
-    int i;
+    size_t i;

      if (whitelist != NULL)
          for (i = 0; i < whitecount; i++) {
Index: libexec/spamd/spamd.c
===================================================================
RCS file: /cvs/src/libexec/spamd/spamd.c,v
retrieving revision 1.112
diff -u -b -w -p -r1.112 spamd.c
--- libexec/spamd/spamd.c    19 Jun 2012 17:43:40 -0000    1.112
+++ libexec/spamd/spamd.c    17 Aug 2013 22:36:43 -0000
@@ -265,7 +265,7 @@ void
  parse_configs(void)
  {
      char *start, *end;
-    int i;
+    size_t i;

      if (cbu == cbs) {
          char *tmp;
@@ -371,7 +371,7 @@ append_error_string(struct con *cp, size
      char *c = cp->obuf + off;
      char *s = fmt;
      size_t len = cp->osize - off;
-    int i = 0;
+    size_t i = 0;

      if (off == 0)
          lastcont = 0;

Reply | Threaded
Open this post in threaded view
|

Re: Tiny fixes to spamd

William Orr-2

> William Orr <mailto:[hidden email]>
> August 17, 2013 3:51 PM
> Loop variables are declared as ints when they're compared to size_ts.
> This only becomes an issue when the config file or the output buffer
> becomes unreasonably large.
>
> Index: libexec/spamd/grey.c
> ===================================================================
> RCS file: /cvs/src/libexec/spamd/grey.c,v
> retrieving revision 1.52
> diff -u -b -w -p -r1.52 grey.c
> --- libexec/spamd/grey.c    2 Oct 2012 15:26:17 -0000    1.52
> +++ libexec/spamd/grey.c    17 Aug 2013 22:36:43 -0000
> @@ -362,7 +362,7 @@ bad:
>  void
>  freeaddrlists(void)
>  {
> -    int i;
> +    size_t i;
>
>      if (whitelist != NULL)
>          for (i = 0; i < whitecount; i++) {
> Index: libexec/spamd/spamd.c
> ===================================================================
> RCS file: /cvs/src/libexec/spamd/spamd.c,v
> retrieving revision 1.112
> diff -u -b -w -p -r1.112 spamd.c
> --- libexec/spamd/spamd.c    19 Jun 2012 17:43:40 -0000    1.112
> +++ libexec/spamd/spamd.c    17 Aug 2013 22:36:43 -0000
> @@ -265,7 +265,7 @@ void
>  parse_configs(void)
>  {
>      char *start, *end;
> -    int i;
> +    size_t i;
>
>      if (cbu == cbs) {
>          char *tmp;
> @@ -371,7 +371,7 @@ append_error_string(struct con *cp, size
>      char *c = cp->obuf + off;
>      char *s = fmt;
>      size_t len = cp->osize - off;
> -    int i = 0;
> +    size_t i = 0;
>
>      if (off == 0)
>          lastcont = 0;
>
Whoops, missed the downcast of time_t to int in the sscanfs. Here's a
revised patch.

Index: src/libexec/spamd/grey.c
===================================================================
RCS file: /cvs/src/libexec/spamd/grey.c,v
retrieving revision 1.52
diff -u -b -w -p -r1.52 grey.c
--- src/libexec/spamd/grey.c    2 Oct 2012 15:26:17 -0000    1.52
+++ src/libexec/spamd/grey.c    18 Aug 2013 02:02:00 -0000
@@ -362,7 +362,7 @@ bad:
  void
  freeaddrlists(void)
  {
-    int i;
+    size_t i;

      if (whitelist != NULL)
          for (i = 0; i < whitecount; i++) {
Index: src/libexec/spamd/spamd.c
===================================================================
RCS file: /cvs/src/libexec/spamd/spamd.c,v
retrieving revision 1.112
diff -u -b -w -p -r1.112 spamd.c
--- src/libexec/spamd/spamd.c    19 Jun 2012 17:43:40 -0000    1.112
+++ src/libexec/spamd/spamd.c    18 Aug 2013 02:02:00 -0000
@@ -265,7 +265,7 @@ void
  parse_configs(void)
  {
      char *start, *end;
-    int i;
+    size_t i;

      if (cbu == cbs) {
          char *tmp;
@@ -371,7 +371,7 @@ append_error_string(struct con *cp, size
      char *c = cp->obuf + off;
      char *s = fmt;
      size_t len = cp->osize - off;
-    int i = 0;
+    size_t i = 0;

      if (off == 0)
          lastcont = 0;
@@ -1114,7 +1114,7 @@ main(int argc, char *argv[])
              greylist = 0;
              break;
          case 'G':
-            if (sscanf(optarg, "%d:%d:%d", &passtime, &greyexp,
+            if (sscanf(optarg, "%lld:%lld:%lld", &passtime, &greyexp,
&whiteexp) != 3)
                  usage();
              /* convert to seconds from minutes */