| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
|---|---|
| To: | Neil Conway <neilc(at)samurai(dot)com> | 
| Cc: | "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>, PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org> | 
| Subject: | Re: pg_avd | 
| Date: | 2003-02-18 15:07:36 | 
| Message-ID: | 23463.1045580856@sss.pgh.pa.us | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-patches | 
Neil Conway <neilc(at)samurai(dot)com> writes:
> Some minor nit-picking follows below. I tend to be a bit of a
> style-nazi, don't mind me :-)
> - the length argument to snprintf() includes the terminating NUL byte,
> so code like pg_avd.c line 334 is off-by-one:
>   char buf[256];
>   /* ... */
>   snprintf(buf,255,"...");
Actually the preferred coding of this is
snprintf(buf, sizeof(buf), ...);
which is both correct and impervious to subsequent alteration of the
declared size of buf.  I get antsy whenever I see a snprintf with a
literal-constant size argument, because it's a mistake waiting to
happen.  Use sizeof() when you can, or at least a #define.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2003-02-18 15:57:56 | Re: Non-colliding auto generated names | 
| Previous Message | Christopher Kings-Lynne | 2003-02-18 15:03:17 | Re: Non-colliding auto generated names |