Index: modules/field/field.crud.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/field.crud.inc,v
retrieving revision 1.21
diff -u -p -r1.21 field.crud.inc
--- modules/field/field.crud.inc	14 Jul 2009 10:27:29 -0000	1.21
+++ modules/field/field.crud.inc	1 Aug 2009 16:17:22 -0000
@@ -228,6 +228,16 @@ function field_create_field($field) {
     throw new FieldException(t('Attempt to create field name %name which already exists.', array('%name' => $field['field_name'])));
   }
 
+  // Disallow reserved field names
+  // http://drupal.org/node/382464
+  $fieldable_objects = module_invoke_all('fieldable_info');
+  foreach ($fieldable_objects as $type => $fieldable_object) {
+    if (in_array($field['field_name'], $fieldable_object['object keys'])) {
+      throw new FieldException(t('Attempt to create field name %name which is reserved by entity type %type.',
+        array('%name' => $field['field_name'], '%type' => $type)));
+    }
+  }
+
   $field += array(
     'cardinality' => 1,
     'locked' => FALSE,
