components/psutils/patches/buffer_overflow.patch
author Vladimir Marek <Vladimir.Marek@oracle.com>
Fri, 17 Jan 2014 17:43:13 +0100
changeset 1663 d64772b1eb67
permissions -rw-r--r--
18035101 problem in UTILITY/PSUTILS
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1663
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     1
The problem has been reported to [email protected] by mail but there was no
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     2
response. For now it is safer to disable line wrapping than trying to fix
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     3
various buffer overflows in the code.
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     4
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     5
--- psutils/pserror.c	2014-01-23 15:47:09.375709690 +0100
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     6
+++ psutils/pserror.c	2014-01-23 15:46:57.742698912 +0100
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     7
@@ -12,111 +12,31 @@
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     8
 #include "patchlev.h"
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     9
 
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    10
 #include <string.h>
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    11
+#include <stdio.h>
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    12
+#include <stdarg.h>
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    13
 
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    14
 /* Message functions; there is a single are varargs functions for messages,
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    15
    warnings, and errors sent to stderr. If called with the flags MESSAGE_EXIT
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    16
    set, the routine does not return */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    17
-
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    18
-#define MAX_MESSAGE	256	/* maximum formatted message length */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    19
-#define MAX_FORMAT	16	/* maximum format length */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    20
-#define MAX_COLUMN	78	/* maximum column to print upto */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    21
-
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    22
 void message(int flags, char *format, ...)
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    23
 {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    24
   va_list args ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    25
-  static column = 0 ;		/* current screen column for message wrap */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    26
-  char msgbuf[MAX_MESSAGE] ;	/* buffer in which to put the message */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    27
-  char *bufptr = msgbuf ;	/* message buffer pointer */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    28
 
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    29
-  if ( (flags & MESSAGE_NL) && column != 0 ) {	/* new line if not already */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    30
+  if ( flags & MESSAGE_NL ) {	/* new line if not already */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    31
     putc('\n', stderr) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    32
-    column = 0 ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    33
   }
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    34
-    
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    35
+
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    36
   if ( flags & MESSAGE_PROGRAM ) {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    37
-    strcpy(bufptr, program) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    38
-    bufptr += strlen(program) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    39
-    *bufptr++ = ':' ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    40
-    *bufptr++ = ' ' ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    41
+    fprintf (stderr, "%s: ", program);
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    42
   }
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    43
 
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    44
   va_start(args, format) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    45
-  if ( format != NULL ) {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    46
-    char c ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    47
-    while ( (c = *format++) != '\0' ) {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    48
-      if (c == '%') {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    49
-	int done, longform, index ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    50
-	char fmtbuf[MAX_FORMAT] ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    51
-	longform = index = 0 ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    52
-	fmtbuf[index++] = c ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    53
-	do {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    54
-	  done = 1 ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    55
-	  fmtbuf[index++] = c = *format++ ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    56
-	  fmtbuf[index] = '\0' ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    57
-	  switch (c) {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    58
-	  case '%':
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    59
-	    *bufptr++ = '%' ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    60
-	  case '\0':
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    61
-	    break ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    62
-	  case 'e': case 'E': case 'f': case 'g': case 'G':
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    63
-	    {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    64
-	      double d = va_arg(args, double) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    65
-	      sprintf(bufptr, fmtbuf, d) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    66
-	      bufptr += strlen(bufptr) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    67
-	    }
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    68
-	    break ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    69
-	  case 'c': case 'd': case 'i': case 'o':
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    70
-	  case 'p': case 'u': case 'x': case 'X':
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    71
-	    if ( longform ) {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    72
-	      long l = va_arg(args, long) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    73
-	      sprintf(bufptr, fmtbuf, l) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    74
-	    } else {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    75
-	      int i = va_arg(args, int) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    76
-	      sprintf(bufptr, fmtbuf, i) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    77
-	    }
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    78
-	    bufptr += strlen(bufptr) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    79
-	    break ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    80
-	  case 's':
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    81
-	    {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    82
-	      char *s = va_arg(args, char *) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    83
-	      sprintf(bufptr, fmtbuf, s) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    84
-	      bufptr += strlen(bufptr) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    85
-	    }
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    86
-	    break ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    87
-	  case 'l':
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    88
-	    longform = 1 ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    89
-	    /* FALLTHRU */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    90
-	  default:
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    91
-	    done = 0 ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    92
-	  }
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    93
-	} while ( !done ) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    94
-      } else if ( c == '\n' ) {	/* write out message so far and reset column */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    95
-	int len = bufptr - msgbuf ;	/* length of current message */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    96
-	*bufptr++ = '\n' ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    97
-	*bufptr = '\0' ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    98
-	if ( column + len > MAX_COLUMN && column > 0 ) {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    99
-	  putc('\n', stderr) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   100
-	  column = 0 ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   101
-	}
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   102
-	fputs(bufptr = msgbuf, stderr) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   103
-	column = 0 ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   104
-      } else
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   105
-	*bufptr++ = c ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   106
-    }
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   107
-    *bufptr = '\0' ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   108
-    {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   109
-      int len = bufptr - msgbuf ;	/* length of current message */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   110
-      if ( column + len > MAX_COLUMN && column > 0 ) {
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   111
-	putc('\n', stderr) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   112
-	column = 0 ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   113
-      }
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   114
-      fputs(msgbuf, stderr) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   115
-      column += len ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   116
-    }
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   117
-    fflush(stderr) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   118
-  }
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   119
+  if ( format != NULL )
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   120
+    vfprintf(stderr, format, args);
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   121
   va_end(args) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   122
 
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   123
+  fflush(stderr);
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   124
+
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   125
   if ( flags & MESSAGE_EXIT )	/* don't return to program */
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   126
     exit(1) ;
d64772b1eb67 18035101 problem in UTILITY/PSUTILS
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   127
 }