--- uuid.py.orig	2007-08-23 17:06:38.000000000 -0700
+++ uuid.py	2007-08-23 19:10:23.000000000 -0700
@@ -414,7 +414,7 @@
 _uuid_generate_random = _uuid_generate_time = _UuidCreate = None
 try:
     import ctypes, ctypes.util
-    _buffer = ctypes.create_string_buffer(16)
+#    _buffer = ctypes.create_string_buffer(16)
 
     # The uuid_generate_* routines are provided by libuuid on at least
     # Linux and FreeBSD, and provided by libc on Mac OS X.
@@ -447,11 +447,13 @@
 
 def _unixdll_getnode():
     """Get the hardware address on Unix using ctypes."""
+    _buffer = ctypes.create_string_buffer(16)
     _uuid_generate_time(_buffer)
     return UUID(bytes=bytes_(_buffer.raw)).node
 
 def _windll_getnode():
     """Get the hardware address on Windows using ctypes."""
+    _buffer = ctypes.create_string_buffer(16)
     if _UuidCreate(_buffer) == 0:
         return UUID(bytes=bytes_(_buffer.raw)).node
 
@@ -499,6 +501,7 @@
 
     # When the system provides a version-1 UUID generator, use it (but don't
     # use UuidCreate here because its UUIDs don't conform to RFC 4122).
+    _buffer = ctypes.create_string_buffer(16)
     if _uuid_generate_time and node is clock_seq is None:
         _uuid_generate_time(_buffer)
         return UUID(bytes=bytes_(_buffer.raw))
@@ -535,6 +538,7 @@
     """Generate a random UUID."""
 
     # When the system provides a version-4 UUID generator, use it.
+    _buffer = ctypes.create_string_buffer(16)
     if _uuid_generate_random:
         _uuid_generate_random(_buffer)
         return UUID(bytes=bytes_(_buffer.raw))
