diff options
| author | Paul Eggert | 2011-01-22 23:30:19 -0800 |
|---|---|---|
| committer | Paul Eggert | 2011-01-22 23:30:19 -0800 |
| commit | 9055082ef8a2f1b9033f77f0eb2b9c756a306c01 (patch) | |
| tree | 041665ff66c2bdab89f2f59976fb9ce0e2003ab0 /lib-src | |
| parent | f77fabaf6bc1296631b1a4bcdf363721e19a3ac4 (diff) | |
| download | emacs-9055082ef8a2f1b9033f77f0eb2b9c756a306c01.tar.gz emacs-9055082ef8a2f1b9033f77f0eb2b9c756a306c01.zip | |
Check return values of some library calls.
Diffstat (limited to 'lib-src')
| -rw-r--r-- | lib-src/ChangeLog | 8 | ||||
| -rw-r--r-- | lib-src/hexl.c | 8 | ||||
| -rw-r--r-- | lib-src/make-docfile.c | 13 | ||||
| -rw-r--r-- | lib-src/movemail.c | 3 |
4 files changed, 26 insertions, 6 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 232bb389fd7..74509f4ae5e 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2011-01-23 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Check return values of some library calls. | ||
| 4 | * hexl.c (main): Check fread result. | ||
| 5 | * make-docfile.c (main): Check chdir result. | ||
| 6 | (scan_c_file): Check fscanf result. | ||
| 7 | * movemail.c (main): Check ftruncate result. | ||
| 8 | |||
| 1 | 2011-01-17 Paul Eggert <eggert@cs.ucla.edu> | 9 | 2011-01-17 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 10 | ||
| 3 | Include <unistd.h> unilaterally. | 11 | Include <unistd.h> unilaterally. |
diff --git a/lib-src/hexl.c b/lib-src/hexl.c index aa5b370aade..e0a5166760a 100644 --- a/lib-src/hexl.c +++ b/lib-src/hexl.c | |||
| @@ -179,7 +179,9 @@ main (int argc, char **argv) | |||
| 179 | 179 | ||
| 180 | #define hexchar(x) (isdigit (x) ? x - '0' : x - 'a' + 10) | 180 | #define hexchar(x) (isdigit (x) ? x - '0' : x - 'a' + 10) |
| 181 | 181 | ||
| 182 | fread (buf, 1, 10, fp); /* skip 10 bytes */ | 182 | /* Skip 10 bytes. */ |
| 183 | if (fread (buf, 1, 10, fp) != 10) | ||
| 184 | break; | ||
| 183 | 185 | ||
| 184 | for (i=0; i < 16; ++i) | 186 | for (i=0; i < 16; ++i) |
| 185 | { | 187 | { |
| @@ -207,7 +209,9 @@ main (int argc, char **argv) | |||
| 207 | if (i < 16) | 209 | if (i < 16) |
| 208 | break; | 210 | break; |
| 209 | 211 | ||
| 210 | fread (buf, 1, 18, fp); /* skip 18 bytes */ | 212 | /* Skip 18 bytes. */ |
| 213 | if (fread (buf, 1, 18, fp) != 18) | ||
| 214 | break; | ||
| 211 | } | 215 | } |
| 212 | } | 216 | } |
| 213 | } | 217 | } |
diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c index 4260e4c08f6..b6fccfacfec 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c | |||
| @@ -158,7 +158,11 @@ main (int argc, char **argv) | |||
| 158 | } | 158 | } |
| 159 | if (argc > i + 1 && !strcmp (argv[i], "-d")) | 159 | if (argc > i + 1 && !strcmp (argv[i], "-d")) |
| 160 | { | 160 | { |
| 161 | chdir (argv[i + 1]); | 161 | if (chdir (argv[i + 1]) != 0) |
| 162 | { | ||
| 163 | perror (argv[i + 1]); | ||
| 164 | return EXIT_FAILURE; | ||
| 165 | } | ||
| 162 | i += 2; | 166 | i += 2; |
| 163 | } | 167 | } |
| 164 | 168 | ||
| @@ -648,6 +652,7 @@ scan_c_file (char *filename, const char *mode) | |||
| 648 | 652 | ||
| 649 | if (defunflag && (commas == 1 || commas == 2)) | 653 | if (defunflag && (commas == 1 || commas == 2)) |
| 650 | { | 654 | { |
| 655 | int scanned = 0; | ||
| 651 | do | 656 | do |
| 652 | c = getc (infile); | 657 | c = getc (infile); |
| 653 | while (c == ' ' || c == '\n' || c == '\r' || c == '\t'); | 658 | while (c == ' ' || c == '\n' || c == '\r' || c == '\t'); |
| @@ -655,12 +660,14 @@ scan_c_file (char *filename, const char *mode) | |||
| 655 | goto eof; | 660 | goto eof; |
| 656 | ungetc (c, infile); | 661 | ungetc (c, infile); |
| 657 | if (commas == 2) /* pick up minargs */ | 662 | if (commas == 2) /* pick up minargs */ |
| 658 | fscanf (infile, "%d", &minargs); | 663 | scanned = fscanf (infile, "%d", &minargs); |
| 659 | else /* pick up maxargs */ | 664 | else /* pick up maxargs */ |
| 660 | if (c == 'M' || c == 'U') /* MANY || UNEVALLED */ | 665 | if (c == 'M' || c == 'U') /* MANY || UNEVALLED */ |
| 661 | maxargs = -1; | 666 | maxargs = -1; |
| 662 | else | 667 | else |
| 663 | fscanf (infile, "%d", &maxargs); | 668 | scanned = fscanf (infile, "%d", &maxargs); |
| 669 | if (scanned < 0) | ||
| 670 | goto eof; | ||
| 664 | } | 671 | } |
| 665 | } | 672 | } |
| 666 | 673 | ||
diff --git a/lib-src/movemail.c b/lib-src/movemail.c index b127c85951d..f492188963d 100644 --- a/lib-src/movemail.c +++ b/lib-src/movemail.c | |||
| @@ -488,7 +488,8 @@ main (int argc, char **argv) | |||
| 488 | #ifdef MAIL_USE_SYSTEM_LOCK | 488 | #ifdef MAIL_USE_SYSTEM_LOCK |
| 489 | if (! preserve_mail) | 489 | if (! preserve_mail) |
| 490 | { | 490 | { |
| 491 | ftruncate (indesc, 0L); | 491 | if (ftruncate (indesc, 0L) != 0) |
| 492 | pfatal_with_name (inname); | ||
| 492 | } | 493 | } |
| 493 | #endif /* MAIL_USE_SYSTEM_LOCK */ | 494 | #endif /* MAIL_USE_SYSTEM_LOCK */ |
| 494 | 495 | ||