fielding 99/03/07 07:35:18
Modified: src CHANGES src/main http_core.c Log: Added informative error messages for failed munmap() and fseek() calls in http_core.c. Submitted by: John Bley <[EMAIL PROTECTED]>, Roy Fielding Revision Changes Path 1.1263 +3 -0 apache-1.3/src/CHANGES Index: CHANGES =================================================================== RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1262 retrieving revision 1.1263 diff -u -r1.1262 -r1.1263 --- CHANGES 1999/03/07 15:05:33 1.1262 +++ CHANGES 1999/03/07 15:35:14 1.1263 @@ -18,6 +18,9 @@ *) Fixed a few compiler nits. [John Bley <[EMAIL PROTECTED]>] + *) Added informative error messages for failed munmap() and fseek() calls + in http_core.c. [John Bley, Roy Fielding] + *) Added some informative error messages for some failed malloc() calls. [John Bley <[EMAIL PROTECTED]>, Jim Jagielski] 1.253 +14 -4 apache-1.3/src/main/http_core.c Index: http_core.c =================================================================== RCS file: /home/cvs/apache-1.3/src/main/http_core.c,v retrieving revision 1.252 retrieving revision 1.253 diff -u -r1.252 -r1.253 --- http_core.c 1999/03/07 13:13:52 1.252 +++ http_core.c 1999/03/07 15:35:17 1.253 @@ -1070,7 +1070,7 @@ if (error_number == 401 && line[0] != '/' && line[0] != '"') { /* Ignore it... */ - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, NULL, + ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, cmd->server, "cannot use a full URL in a 401 ErrorDocument " "directive --- ignoring!"); } @@ -2937,7 +2937,11 @@ { struct mmap *mmd = mmv; - munmap(mmd->mm, mmd->length); + if (munmap(mmd->mm, mmd->length) == -1) { + ap_log_error(APLOG_MARK, APLOG_ERR, NULL, + "Failed to munmap memory of length %ld at 0x%lx", + (long) mmd->length, (long) mmd->mm); + } } #endif @@ -3066,8 +3070,14 @@ else { long offset, length; while (ap_each_byterange(r, &offset, &length)) { - fseek(f, offset, SEEK_SET); - ap_send_fd_length(f, r, length); + if (fseek(f, offset, SEEK_SET) == -1) { + ap_log_error(APLOG_MARK, APLOG_ERR, r->server, + "Failed to fseek for byterange (%ld, %ld)", + offset, length); + } + else { + ap_send_fd_length(f, r, length); + } } } }