[omniORB] omninames 4.1.0 for VC8 crashes when -errlog is specified

Duncan Grisby duncan at grisby.org
Tue Jun 19 18:27:13 BST 2007


On Wednesday 23 May, "John Stevenson-Hoare" wrote:

> If the -errlog parameter is supplied the program simply crashes out.
> After examining the code it appears that the following line in
> omniNames.cc is to blame:
> 
> Line 159:   setvbuf(stderr, 0, _IOLBF, 0);
>
> The Visual Studio 2005 documentation states that the 4th argument to
> this function, ie size, must be in the range 2 <= size <= INT_MAX
> (2147483647). Clearly 0 is not in this range!

Sorry for the delay in replying to this. The problem is down to a
difference between Windows and Unix platforms. On Unix platforms, the
size parameter is the size of the buffer if one is provided, which in
this case there isn't. Windows takes it to be the size of the buffer it
should allocate.

Windows doesn't support line buffering at all, so the code is pointless
there anyway. I've fixed it by #ifdefing it away on Windows.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list