Hello,

OK

regards
sasha

On Thu, Dec 03, 2015 at 01:21:32PM +0100, Claudio Jeker wrote:
> This should cover the simple free calls in pf_ioctl.
> 
> -- 
> :wq Claudio
> 
> Index: pf_ioctl.c
> ===================================================================
> RCS file: /cvs/src/sys/net/pf_ioctl.c,v
> retrieving revision 1.296
> diff -u -p -r1.296 pf_ioctl.c
> --- pf_ioctl.c        3 Dec 2015 10:34:11 -0000       1.296
> +++ pf_ioctl.c        3 Dec 2015 12:08:00 -0000
> @@ -397,7 +397,7 @@ tag_unref(struct pf_tags *head, u_int16_
>               if (tag == p->tag) {
>                       if (--p->ref == 0) {
>                               TAILQ_REMOVE(head, p, entries);
> -                             free(p, M_RTABLE, 0);
> +                             free(p, M_RTABLE, sizeof(*p));
>                       }
>                       break;
>               }
> @@ -1564,7 +1564,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>                               pf_state_export(pstore, state);
>                               error = copyout(pstore, p, sizeof(*p));
>                               if (error) {
> -                                     free(pstore, M_TEMP, 0);
> +                                     free(pstore, M_TEMP, sizeof(*pstore));
>                                       goto fail;
>                               }
>                               p++;
> @@ -1575,7 +1575,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>  
>               ps->ps_len = sizeof(struct pfsync_state) * nr;
>  
> -             free(pstore, M_TEMP, 0);
> +             free(pstore, M_TEMP, sizeof(*pstore));
>               break;
>       }
>  
> @@ -2030,8 +2030,8 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>               bzero(&pf_trans_set, sizeof(pf_trans_set));
>               for (i = 0; i < io->size; i++) {
>                       if (copyin(io->array+i, ioe, sizeof(*ioe))) {
> -                             free(table, M_TEMP, 0);
> -                             free(ioe, M_TEMP, 0);
> +                             free(table, M_TEMP, sizeof(*table));
> +                             free(ioe, M_TEMP, sizeof(*ioe));
>                               error = EFAULT;
>                               goto fail;
>                       }
> @@ -2042,29 +2042,29 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>                                   sizeof(table->pfrt_anchor));
>                               if ((error = pfr_ina_begin(table,
>                                   &ioe->ticket, NULL, 0))) {
> -                                     free(table, M_TEMP, 0);
> -                                     free(ioe, M_TEMP, 0);
> +                                     free(table, M_TEMP, sizeof(*table));
> +                                     free(ioe, M_TEMP, sizeof(*ioe));
>                                       goto fail;
>                               }
>                               break;
>                       default:
>                               if ((error = pf_begin_rules(&ioe->ticket,
>                                   ioe->anchor))) {
> -                                     free(table, M_TEMP, 0);
> -                                     free(ioe, M_TEMP, 0);
> +                                     free(table, M_TEMP, sizeof(*table));
> +                                     free(ioe, M_TEMP, sizeof(*ioe));
>                                       goto fail;
>                               }
>                               break;
>                       }
>                       if (copyout(ioe, io->array+i, sizeof(io->array[i]))) {
> -                             free(table, M_TEMP, 0);
> -                             free(ioe, M_TEMP, 0);
> +                             free(table, M_TEMP, sizeof(*table));
> +                             free(ioe, M_TEMP, sizeof(*ioe));
>                               error = EFAULT;
>                               goto fail;
>                       }
>               }
> -             free(table, M_TEMP, 0);
> -             free(ioe, M_TEMP, 0);
> +             free(table, M_TEMP, sizeof(*table));
> +             free(ioe, M_TEMP, sizeof(*ioe));
>               break;
>       }
>  
> @@ -2082,8 +2082,8 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>               table = malloc(sizeof(*table), M_TEMP, M_WAITOK);
>               for (i = 0; i < io->size; i++) {
>                       if (copyin(io->array+i, ioe, sizeof(*ioe))) {
> -                             free(table, M_TEMP, 0);
> -                             free(ioe, M_TEMP, 0);
> +                             free(table, M_TEMP, sizeof(*table));
> +                             free(ioe, M_TEMP, sizeof(*ioe));
>                               error = EFAULT;
>                               goto fail;
>                       }
> @@ -2094,23 +2094,23 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>                                   sizeof(table->pfrt_anchor));
>                               if ((error = pfr_ina_rollback(table,
>                                   ioe->ticket, NULL, 0))) {
> -                                     free(table, M_TEMP, 0);
> -                                     free(ioe, M_TEMP, 0);
> +                                     free(table, M_TEMP, sizeof(*table));
> +                                     free(ioe, M_TEMP, sizeof(*ioe));
>                                       goto fail; /* really bad */
>                               }
>                               break;
>                       default:
>                               if ((error = pf_rollback_rules(ioe->ticket,
>                                   ioe->anchor))) {
> -                                     free(table, M_TEMP, 0);
> -                                     free(ioe, M_TEMP, 0);
> +                                     free(table, M_TEMP, sizeof(*table));
> +                                     free(ioe, M_TEMP, sizeof(*ioe));
>                                       goto fail; /* really bad */
>                               }
>                               break;
>                       }
>               }
> -             free(table, M_TEMP, 0);
> -             free(ioe, M_TEMP, 0);
> +             free(table, M_TEMP, sizeof(*table));
> +             free(ioe, M_TEMP, sizeof(*ioe));
>               break;
>       }
>  
> @@ -2130,8 +2130,8 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>               /* first makes sure everything will succeed */
>               for (i = 0; i < io->size; i++) {
>                       if (copyin(io->array+i, ioe, sizeof(*ioe))) {
> -                             free(table, M_TEMP, 0);
> -                             free(ioe, M_TEMP, 0);
> +                             free(table, M_TEMP, sizeof(*table));
> +                             free(ioe, M_TEMP, sizeof(*ioe));
>                               error = EFAULT;
>                               goto fail;
>                       }
> @@ -2140,8 +2140,8 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>                               rs = pf_find_ruleset(ioe->anchor);
>                               if (rs == NULL || !rs->topen || ioe->ticket !=
>                                    rs->tticket) {
> -                                     free(table, M_TEMP, 0);
> -                                     free(ioe, M_TEMP, 0);
> +                                     free(table, M_TEMP, sizeof(*table));
> +                                     free(ioe, M_TEMP, sizeof(*ioe));
>                                       error = EBUSY;
>                                       goto fail;
>                               }
> @@ -2152,8 +2152,8 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>                                   !rs->rules.inactive.open ||
>                                   rs->rules.inactive.ticket !=
>                                   ioe->ticket) {
> -                                     free(table, M_TEMP, 0);
> -                                     free(ioe, M_TEMP, 0);
> +                                     free(table, M_TEMP, sizeof(*table));
> +                                     free(ioe, M_TEMP, sizeof(*ioe));
>                                       error = EBUSY;
>                                       goto fail;
>                               }
> @@ -2168,8 +2168,8 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>               for (i = 0; i < PF_LIMIT_MAX; i++) {
>                       if (((struct pool *)pf_pool_limits[i].pp)->pr_nout >
>                           pf_pool_limits[i].limit_new) {
> -                             free(table, M_TEMP, 0);
> -                             free(ioe, M_TEMP, 0);
> +                             free(table, M_TEMP, sizeof(*table));
> +                             free(ioe, M_TEMP, sizeof(*ioe));
>                               error = EBUSY;
>                               goto fail;
>                       }
> @@ -2177,8 +2177,8 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>               /* now do the commit - no errors should happen here */
>               for (i = 0; i < io->size; i++) {
>                       if (copyin(io->array+i, ioe, sizeof(*ioe))) {
> -                             free(table, M_TEMP, 0);
> -                             free(ioe, M_TEMP, 0);
> +                             free(table, M_TEMP, sizeof(*table));
> +                             free(ioe, M_TEMP, sizeof(*ioe));
>                               error = EFAULT;
>                               goto fail;
>                       }
> @@ -2189,16 +2189,16 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>                                   sizeof(table->pfrt_anchor));
>                               if ((error = pfr_ina_commit(table, ioe->ticket,
>                                   NULL, NULL, 0))) {
> -                                     free(table, M_TEMP, 0);
> -                                     free(ioe, M_TEMP, 0);
> +                                     free(table, M_TEMP, sizeof(*table));
> +                                     free(ioe, M_TEMP, sizeof(*ioe));
>                                       goto fail; /* really bad */
>                               }
>                               break;
>                       default:
>                               if ((error = pf_commit_rules(ioe->ticket,
>                                   ioe->anchor))) {
> -                                     free(table, M_TEMP, 0);
> -                                     free(ioe, M_TEMP, 0);
> +                                     free(table, M_TEMP, sizeof(*table));
> +                                     free(ioe, M_TEMP, sizeof(*ioe));
>                                       goto fail; /* really bad */
>                               }
>                               break;
> @@ -2209,8 +2209,8 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>                           pf_pool_limits[i].limit &&
>                           pool_sethardlimit(pf_pool_limits[i].pp,
>                           pf_pool_limits[i].limit_new, NULL, 0) != 0) {
> -                             free(table, M_TEMP, 0);
> -                             free(ioe, M_TEMP, 0);
> +                             free(table, M_TEMP, sizeof(*table));
> +                             free(ioe, M_TEMP, sizeof(*ioe));
>                               error = EBUSY;
>                               goto fail; /* really bad */
>                       }
> @@ -2227,8 +2227,8 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>               }
>               pfi_xcommit();
>               pf_trans_set_commit();
> -             free(table, M_TEMP, 0);
> -             free(ioe, M_TEMP, 0);
> +             free(table, M_TEMP, sizeof(*table));
> +             free(ioe, M_TEMP, sizeof(*ioe));
>               break;
>       }
>  
> @@ -2276,7 +2276,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>  
>                       error = copyout(pstore, p, sizeof(*p));
>                       if (error) {
> -                             free(pstore, M_TEMP, 0);
> +                             free(pstore, M_TEMP, sizeof(*pstore));
>                               goto fail;
>                       }
>                       p++;
> @@ -2284,7 +2284,7 @@ pfioctl(dev_t dev, u_long cmd, caddr_t a
>               }
>               psn->psn_len = sizeof(struct pf_src_node) * nr;
>  
> -             free(pstore, M_TEMP, 0);
> +             free(pstore, M_TEMP, sizeof(*pstore));
>               break;
>       }
>  
> 

Reply via email to