Index: filefield.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/filefield/filefield.module,v
retrieving revision 1.50.2.45
diff -u -r1.50.2.45 filefield.module
--- filefield.module	13 Mar 2009 04:20:18 -0000	1.50.2.45
+++ filefield.module	25 Jul 2009 00:19:13 -0000
@@ -160,19 +160,25 @@
   else {
     $widget_file_path = $field['widget']['file_path'];
   }
- 
-  $filepath = file_create_path($widget_file_path) . '/' . $file['filename'];
-  
-  if (filefield_check_directory($widget_file_path) && $file = file_save_upload((object)$file, $filepath)) {
-    $file = (array)$file;
-    $file['fid'] = db_next_id('{files}_fid');
-    $file['filemime'] = mimedetect_mime($file);
-    db_query("INSERT into {files} (fid, nid, filename, filepath, filemime, filesize)
-              VALUES (%d, %d, '%s','%s','%s',%d)",
-              $file['fid'], $node->nid, $file['filename'], $file['filepath'],
-              $file['filemime'], $file['filesize']);
-    module_invoke_all('filefield', 'file_save', $node, $field, $file);
-    return (array)$file;
+
+  if (filefield_check_directory($widget_file_path)){
+    $filepath = file_create_path($widget_file_path) . '/' . $file['filename'];
+    if ($file = file_save_upload((object) $file, $filepath)) {
+      $file = (array) $file;
+      $file['fid'] = db_next_id('{files}_fid');
+      $file['filemime'] = mimedetect_mime($file);
+      db_query("INSERT into {files} (fid, nid, filename, filepath, filemime, filesize)
+                VALUES (%d, %d, '%s','%s','%s',%d)",
+                $file['fid'], $node->nid, $file['filename'], $file['filepath'],
+                $file['filemime'], $file['filesize']);
+      module_invoke_all('filefield', 'file_save', $node, $field, $file);
+      return (array) $file;
+    }
+    else {
+      // Include file name in upload error.
+      form_set_error(NULL, t('File upload was unsuccessful.'));
+      return FALSE;
+    }
   }
   else {
     // Include file name in upload error.
@@ -851,7 +857,9 @@
   foreach(explode('/', $directory) as $dir) {
     $dirs[] = $dir;
     $path = file_create_path(implode($dirs,'/'));
-    file_check_directory($path, FILE_CREATE_DIRECTORY, $form_element['#parents'][0]);
+    if (!file_check_directory($path, FILE_CREATE_DIRECTORY, $form_element['#parents'][0])){
+      return FALSE;
+    }
   }
   return TRUE;
 }
