diff options
author | Anil Madhavapeddy <avsm@cvs.openbsd.org> | 2003-06-26 18:35:14 +0000 |
---|---|---|
committer | Anil Madhavapeddy <avsm@cvs.openbsd.org> | 2003-06-26 18:35:14 +0000 |
commit | 8266dbf611a37e02c83c4da428f21a7d8c5bf801 (patch) | |
tree | ceefafa5cbc273538b74376d0e081cd83be48b84 /include/stdio.h | |
parent | 4f22ff20604dd441c644e14195a64eade733296f (diff) |
Mark various standard library functions with the __bounded__ attribute.
You must have an up-to-date gcc for this!
deraadt@ ok
Diffstat (limited to 'include/stdio.h')
-rw-r--r-- | include/stdio.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/include/stdio.h b/include/stdio.h index 57ad41a0bda..7453eb4265e 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -1,4 +1,4 @@ -/* $OpenBSD: stdio.h,v 1.26 2003/06/02 19:34:12 millert Exp $ */ +/* $OpenBSD: stdio.h,v 1.27 2003/06/26 18:35:13 avsm Exp $ */ /* $NetBSD: stdio.h,v 1.18 1996/04/25 18:29:21 jtc Exp $ */ /*- @@ -214,12 +214,14 @@ int ferror(FILE *); int fflush(FILE *); int fgetc(FILE *); int fgetpos(FILE *, fpos_t *); -char *fgets(char *, int, FILE *); +char *fgets(char *, int, FILE *) + __attribute__((__bounded__ (__string__,1,2))); FILE *fopen(const char *, const char *); int fprintf(FILE *, const char *, ...); int fputc(int, FILE *); int fputs(const char *, FILE *); -size_t fread(void *, size_t, size_t, FILE *); +size_t fread(void *, size_t, size_t, FILE *) + __attribute__((__bounded__ (__size__,1,3,2))); FILE *freopen(const char *, const char *, FILE *); int fscanf(FILE *, const char *, ...); int fseek(FILE *, long, int); @@ -227,7 +229,8 @@ int fseeko(FILE *, off_t, int); int fsetpos(FILE *, const fpos_t *); long ftell(FILE *); off_t ftello(FILE *); -size_t fwrite(const void *, size_t, size_t, FILE *); +size_t fwrite(const void *, size_t, size_t, FILE *) + __attribute__((__bounded__ (__size__,1,3,2))); int getc(FILE *); int getchar(void); char *gets(char *); @@ -313,13 +316,15 @@ int setlinebuf(FILE *); char *tempnam(const char *, const char *); int snprintf(char *, size_t, const char *, ...) __attribute__((__format__ (printf, 3, 4))) - __attribute__((__nonnull__ (3))); + __attribute__((__nonnull__ (3))) + __attribute__((__bounded__ (__string__,1,2))); int vasprintf(char **, const char *, _BSD_VA_LIST_) __attribute__((__format__ (printf, 2, 0))) __attribute__((__nonnull__ (2))); int vsnprintf(char *, size_t, const char *, _BSD_VA_LIST_) __attribute__((__format__ (printf, 3, 0))) - __attribute__((__nonnull__ (3))); + __attribute__((__nonnull__ (3))) + __attribute__((__bounded__(__string__,1,2))); int vscanf(const char *, _BSD_VA_LIST_) __attribute__((__format__ (scanf, 1, 0))) __attribute__((__nonnull__ (1))); |