Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.

diff --git a/dlls/kernel/comm.c b/dlls/kernel/comm.c
index 8980deb..a5c8b28 100644
--- a/dlls/kernel/comm.c
+++ b/dlls/kernel/comm.c
@@ -2296,8 +2296,7 @@
         MultiByteToWideChar( CP_ACP, 0, lpszDevice, -1, lpDeviceW, len );
     }
     r = SetDefaultCommConfigW(lpDeviceW,lpCommConfig,dwSize);
-    if (lpDeviceW) 
-        HeapFree( GetProcessHeap(), 0, lpDeviceW );
+    HeapFree( GetProcessHeap(), 0, lpDeviceW );
     return r;
 }
 
diff --git a/dlls/kernel/console.c b/dlls/kernel/console.c
index 322d7b5..0a8b762 100644
--- a/dlls/kernel/console.c
+++ b/dlls/kernel/console.c
@@ -390,7 +390,7 @@
     }
     new_coord.X = new_coord.Y = 0;
     ret = WriteConsoleOutputW( hConsoleOutput, ciw, new_size, new_coord, region );
-    if (ciw) HeapFree( GetProcessHeap(), 0, ciw );
+    HeapFree( GetProcessHeap(), 0, ciw );
     return ret;
 }
 
@@ -1224,7 +1224,7 @@
     {
 	if (!S_EditString || S_EditString[S_EditStrPos] == 0)
 	{
-	    if (S_EditString) HeapFree(GetProcessHeap(), 0, S_EditString);
+	    HeapFree(GetProcessHeap(), 0, S_EditString);
 	    if (!(S_EditString = CONSOLE_Readline(hConsoleInput)))
 		return FALSE;
 	    S_EditStrPos = 0;
diff --git a/dlls/kernel/editline.c b/dlls/kernel/editline.c
index d3a231b..2df3a7a 100644
--- a/dlls/kernel/editline.c
+++ b/dlls/kernel/editline.c
@@ -229,11 +229,8 @@
 
 static void WCEL_FreeYank(WCEL_Context* ctx)
 {
-    if (ctx->yanked)
-    {
-        HeapFree(GetProcessHeap(), 0, ctx->yanked);
-        ctx->yanked = NULL;
-    }
+    HeapFree(GetProcessHeap(), 0, ctx->yanked);
+    ctx->yanked = NULL;
 }
 
 static void WCEL_SaveYank(WCEL_Context* ctx, int beg, int end)
@@ -310,7 +307,7 @@
     /* save current line edition for recall when needed (FIXME seems broken to me) */
     if (ctx->histPos == ctx->histSize - 1)
     {
-	if (ctx->histCurr) HeapFree(GetProcessHeap(), 0, ctx->histCurr);
+	HeapFree(GetProcessHeap(), 0, ctx->histCurr);
 	ctx->histCurr = HeapAlloc(GetProcessHeap(), 0, (ctx->len + 1) * sizeof(WCHAR));
 	memcpy(ctx->histCurr, ctx->line, (ctx->len + 1) * sizeof(WCHAR));
     }
@@ -865,6 +862,6 @@
 	CONSOLE_AppendHistory(ctx.line);
 
     CloseHandle(ctx.hConOut);
-    if (ctx.histCurr) HeapFree(GetProcessHeap(), 0, ctx.histCurr);
+    HeapFree(GetProcessHeap(), 0, ctx.histCurr);
     return ctx.line;
 }
diff --git a/dlls/kernel/environ.c b/dlls/kernel/environ.c
index 2a8ce09..b722c0a 100644
--- a/dlls/kernel/environ.c
+++ b/dlls/kernel/environ.c
@@ -325,7 +325,7 @@
     else ret = ExpandEnvironmentStringsW( us_src.Buffer, NULL, 0);
 
     RtlFreeUnicodeString( &us_src );
-    if (dstW) HeapFree(GetProcessHeap(), 0, dstW);
+    HeapFree(GetProcessHeap(), 0, dstW);
 
     return ret;
 }
diff --git a/dlls/kernel/file.c b/dlls/kernel/file.c
index e199096..960935d 100644
--- a/dlls/kernel/file.c
+++ b/dlls/kernel/file.c
@@ -1518,7 +1518,7 @@
     return (HANDLE)info;
 
 error:
-    if (info) HeapFree( GetProcessHeap(), 0, info );
+    HeapFree( GetProcessHeap(), 0, info );
     RtlFreeUnicodeString( &nt_name );
     return INVALID_HANDLE_VALUE;
 }
diff --git a/dlls/kernel/file16.c b/dlls/kernel/file16.c
index bcd1685..c4d1fd1 100644
--- a/dlls/kernel/file16.c
+++ b/dlls/kernel/file16.c
@@ -402,7 +402,7 @@
 
     ret = GetTempFileNameA( temppath, prefix16, unique, buffer );
 
-    if (prefix16) HeapFree(GetProcessHeap(), 0, prefix16);
+    HeapFree(GetProcessHeap(), 0, prefix16);
     return ret;
 }
 
diff --git a/dlls/kernel/format_msg.c b/dlls/kernel/format_msg.c
index 35e9e00..d1144ea 100644
--- a/dlls/kernel/format_msg.c
+++ b/dlls/kernel/format_msg.c
@@ -330,7 +330,7 @@
         lstrcpynA(lpBuffer,target,nSize);
     }
     HeapFree(GetProcessHeap(),0,target);
-    if (from) HeapFree(GetProcessHeap(),0,from);
+    HeapFree(GetProcessHeap(),0,from);
     TRACE("-- returning %d\n", (dwFlags & FORMAT_MESSAGE_ALLOCATE_BUFFER) ?  strlen(*(LPSTR*)lpBuffer):strlen(lpBuffer));
     return (dwFlags & FORMAT_MESSAGE_ALLOCATE_BUFFER) ?
         strlen(*(LPSTR*)lpBuffer):
@@ -543,7 +543,7 @@
     else lstrcpynW(lpBuffer, target, nSize);
 
     HeapFree(GetProcessHeap(),0,target);
-    if (from) HeapFree(GetProcessHeap(),0,from);
+    HeapFree(GetProcessHeap(),0,from);
     TRACE("ret=%s\n", wine_dbgstr_w((dwFlags & FORMAT_MESSAGE_ALLOCATE_BUFFER) ?
         *(LPWSTR*)lpBuffer : lpBuffer));
     return (dwFlags & FORMAT_MESSAGE_ALLOCATE_BUFFER) ?
diff --git a/dlls/kernel/global16.c b/dlls/kernel/global16.c
index e4f6b79..cd7e188 100644
--- a/dlls/kernel/global16.c
+++ b/dlls/kernel/global16.c
@@ -442,7 +442,7 @@
 
     TRACE("%04x\n", handle );
     if (!GLOBAL_FreeBlock( handle )) return handle;  /* failed */
-    if (ptr) HeapFree( GetProcessHeap(), 0, ptr );
+    HeapFree( GetProcessHeap(), 0, ptr );
     return 0;
 }
 
diff --git a/dlls/kernel/lcformat.c b/dlls/kernel/lcformat.c
index 8376fcd..6a43cd4 100644
--- a/dlls/kernel/lcformat.c
+++ b/dlls/kernel/lcformat.c
@@ -2066,10 +2066,8 @@
   }
 
 NLS_EnumCalendarInfoAW_Cleanup:
-  if (opt != NULL)
-    HeapFree(GetProcessHeap(), 0, opt);
-  if (buf != NULL)
-    HeapFree(GetProcessHeap(), 0, buf);
+  HeapFree(GetProcessHeap(), 0, opt);
+  HeapFree(GetProcessHeap(), 0, buf);
   return ret;
 }
 
diff --git a/dlls/kernel/local16.c b/dlls/kernel/local16.c
index 98580fb..9fe2dbb 100644
--- a/dlls/kernel/local16.c
+++ b/dlls/kernel/local16.c
@@ -1927,7 +1927,7 @@
     selectorOdd   = SELECTOR_AllocBlock( base + 0x8000, totSize - 0x8000, WINE_LDT_FLAGS_DATA );
     if ( !selectorTable || !selectorEven || !selectorOdd )
     {
-        if ( selectorTable ) HeapFree( header->heap, 0, selectorTable );
+        HeapFree( header->heap, 0, selectorTable );
         if ( selectorEven  ) SELECTOR_FreeBlock( selectorEven );
         if ( selectorOdd   ) SELECTOR_FreeBlock( selectorOdd );
         HeapDestroy( header->heap );
diff --git a/dlls/kernel/locale.c b/dlls/kernel/locale.c
index a053342..9d8ae35 100644
--- a/dlls/kernel/locale.c
+++ b/dlls/kernel/locale.c
@@ -2267,12 +2267,10 @@
         }
     }
 
-    if (dstW)
-        HeapFree(GetProcessHeap(), 0, dstW);
+    HeapFree(GetProcessHeap(), 0, dstW);
 
 FoldStringA_exit:
-    if (srcW)
-        HeapFree(GetProcessHeap(), 0, srcW);
+    HeapFree(GetProcessHeap(), 0, srcW);
     return ret;
 }
 
diff --git a/dlls/kernel/ne_module.c b/dlls/kernel/ne_module.c
index ea4557d..ca4e61f 100644
--- a/dlls/kernel/ne_module.c
+++ b/dlls/kernel/ne_module.c
@@ -726,7 +726,7 @@
              buffer ))
         {
             HeapFree( GetProcessHeap(), 0, buffer );
-            if (fastload) HeapFree( GetProcessHeap(), 0, fastload );
+            HeapFree( GetProcessHeap(), 0, fastload );
             GlobalFree16( hModule );
             return (HMODULE16)11;  /* invalid exe */
         }
@@ -740,7 +740,7 @@
     }
     else
     {
-        if (fastload) HeapFree( GetProcessHeap(), 0, fastload );
+        HeapFree( GetProcessHeap(), 0, fastload );
         GlobalFree16( hModule );
         return (HMODULE16)11;  /* invalid exe */
     }
@@ -766,7 +766,7 @@
                ne_header.ne_modtab - ne_header.ne_restab,
                pData ))
     {
-        if (fastload) HeapFree( GetProcessHeap(), 0, fastload );
+        HeapFree( GetProcessHeap(), 0, fastload );
         GlobalFree16( hModule );
         return (HMODULE16)11;  /* invalid exe */
     }
@@ -781,7 +781,7 @@
                   ne_header.ne_cmod * sizeof(WORD),
                   pData ))
         {
-            if (fastload) HeapFree( GetProcessHeap(), 0, fastload );
+            HeapFree( GetProcessHeap(), 0, fastload );
             GlobalFree16( hModule );
             return (HMODULE16)11;  /* invalid exe */
         }
@@ -796,7 +796,7 @@
                ne_header.ne_enttab - ne_header.ne_imptab,
                pData ))
     {
-        if (fastload) HeapFree( GetProcessHeap(), 0, fastload );
+        HeapFree( GetProcessHeap(), 0, fastload );
         GlobalFree16( hModule );
         return (HMODULE16)11;  /* invalid exe */
     }
@@ -814,7 +814,7 @@
                    ne_header.ne_cbenttab, pTempEntryTable ))
         {
             HeapFree( GetProcessHeap(), 0, pTempEntryTable );
-            if (fastload) HeapFree( GetProcessHeap(), 0, fastload );
+            HeapFree( GetProcessHeap(), 0, fastload );
             GlobalFree16( hModule );
             return (HMODULE16)11;  /* invalid exe */
         }
@@ -878,7 +878,7 @@
     }
     else
     {
-        if (fastload) HeapFree( GetProcessHeap(), 0, fastload );
+        HeapFree( GetProcessHeap(), 0, fastload );
         GlobalFree16( hModule );
         return (HMODULE16)11;  /* invalid exe */
     }
@@ -902,7 +902,7 @@
     /* Free the fast-load area */
 
 #undef READ
-    if (fastload) HeapFree( GetProcessHeap(), 0, fastload );
+    HeapFree( GetProcessHeap(), 0, fastload );
 
     /* Get the non-resident names table */
 
diff --git a/dlls/kernel/path.c b/dlls/kernel/path.c
index 838b024..c274237 100644
--- a/dlls/kernel/path.c
+++ b/dlls/kernel/path.c
@@ -226,7 +226,7 @@
     RtlFreeUnicodeString( &source_name );
     RtlFreeUnicodeString( &dest_name );
     if (Reboot) NtClose(Reboot);
-    if (Buffer) HeapFree( GetProcessHeap(), 0, Buffer );
+    HeapFree( GetProcessHeap(), 0, Buffer );
     return(rc);
 }
 
@@ -638,7 +638,7 @@
     ret = GetTempFileNameW(pathW, prefixW, unique, bufferW);
     if (ret) FILE_name_WtoA( bufferW, -1, buffer, MAX_PATH );
 
-    if (prefixW) HeapFree( GetProcessHeap(), 0, prefixW );
+    HeapFree( GetProcessHeap(), 0, prefixW );
     return ret;
 }
 
@@ -830,7 +830,7 @@
     ret = SearchPathW(pathW, nameW, extW, MAX_PATH, bufferW, NULL);
 
     HeapFree( GetProcessHeap(), 0, pathW );
-    if (extW) HeapFree( GetProcessHeap(), 0, extW );
+    HeapFree( GetProcessHeap(), 0, extW );
 
     if (!ret) return 0;
     if (ret > MAX_PATH)
@@ -1218,7 +1218,7 @@
     if (template && !(templateW = FILE_name_AtoW( template, TRUE ))) return FALSE;
 
     ret = CreateDirectoryExW( templateW, pathW, sa );
-    if (templateW) HeapFree( GetProcessHeap(), 0, templateW );
+    HeapFree( GetProcessHeap(), 0, templateW );
     return ret;
 }
 
diff --git a/dlls/kernel/process.c b/dlls/kernel/process.c
index a27c936..53dfdac 100644
--- a/dlls/kernel/process.c
+++ b/dlls/kernel/process.c
@@ -835,7 +835,7 @@
         RtlInitUnicodeString( &dir_str, DIR_Windows );
         RtlSetCurrentDirectory_U( &dir_str );
     }
-    if (cwd) HeapFree( GetProcessHeap(), 0, cwd );
+    HeapFree( GetProcessHeap(), 0, cwd );
 
 done:
     if (!cur_dir->Handle) chdir("/"); /* change to root directory so as not to lock cdroms */
@@ -1849,9 +1849,9 @@
     ret = CreateProcessW( app_nameW, cmd_lineW, process_attr, thread_attr,
                           inherit, flags, env, cur_dirW, &infoW, info );
 done:
-    if (app_nameW) HeapFree( GetProcessHeap(), 0, app_nameW );
-    if (cmd_lineW) HeapFree( GetProcessHeap(), 0, cmd_lineW );
-    if (cur_dirW) HeapFree( GetProcessHeap(), 0, cur_dirW );
+    HeapFree( GetProcessHeap(), 0, app_nameW );
+    HeapFree( GetProcessHeap(), 0, cmd_lineW );
+    HeapFree( GetProcessHeap(), 0, cur_dirW );
     RtlFreeUnicodeString( &desktopW );
     RtlFreeUnicodeString( &titleW );
     return ret;
@@ -1988,7 +1988,7 @@
  done:
     if (tidy_cmdline != cmd_line) HeapFree( GetProcessHeap(), 0, tidy_cmdline );
     if (envW != env) HeapFree( GetProcessHeap(), 0, envW );
-    if (unixdir) HeapFree( GetProcessHeap(), 0, unixdir );
+    HeapFree( GetProcessHeap(), 0, unixdir );
     return retv;
 }
 
diff --git a/dlls/kernel/profile.c b/dlls/kernel/profile.c
index 1b38e0b..1832afb 100644
--- a/dlls/kernel/profile.c
+++ b/dlls/kernel/profile.c
@@ -550,7 +550,7 @@
                 {
                     PROFILEKEY *to_del = *key;
                     *key = to_del->next;
-                    if (to_del->value) HeapFree( GetProcessHeap(), 0, to_del->value);
+                    HeapFree( GetProcessHeap(), 0, to_del->value);
                     HeapFree( GetProcessHeap(), 0, to_del );
                     return TRUE;
                 }
@@ -707,7 +707,7 @@
 {
     PROFILE_FlushFile();
     PROFILE_Free( CurProfile->section );
-    if (CurProfile->filename) HeapFree( GetProcessHeap(), 0, CurProfile->filename );
+    HeapFree( GetProcessHeap(), 0, CurProfile->filename );
     CurProfile->changed = FALSE;
     CurProfile->section = NULL;
     CurProfile->filename  = NULL;
@@ -1170,7 +1170,7 @@
     RtlFreeUnicodeString(&entryW);
     RtlFreeUnicodeString(&def_valW);
     RtlFreeUnicodeString(&filenameW);
-    if (bufferW) HeapFree(GetProcessHeap(), 0, bufferW);
+    HeapFree(GetProcessHeap(), 0, bufferW);
     return ret;
 }
 
@@ -1214,7 +1214,7 @@
     RtlFreeUnicodeString(&entryW);
     RtlFreeUnicodeString(&def_valW);
     RtlFreeUnicodeString(&filenameW);
-    if (bufferW) HeapFree(GetProcessHeap(), 0, bufferW);
+    HeapFree(GetProcessHeap(), 0, bufferW);
     return ret;
 }
 
@@ -1381,7 +1381,7 @@
 
     RtlFreeUnicodeString(&sectionW);
     RtlFreeUnicodeString(&filenameW);
-    if (bufferW) HeapFree(GetProcessHeap(), 0, bufferW);
+    HeapFree(GetProcessHeap(), 0, bufferW);
     return ret;
 }
 
@@ -1632,7 +1632,7 @@
     }
 
     RtlFreeUnicodeString(&filenameW);
-    if (bufferW) HeapFree(GetProcessHeap(), 0, bufferW);
+    HeapFree(GetProcessHeap(), 0, bufferW);
     return ret;
 }
 
diff --git a/dlls/kernel/resource.c b/dlls/kernel/resource.c
index ff7e723..58dcb9d 100644
--- a/dlls/kernel/resource.c
+++ b/dlls/kernel/resource.c
@@ -288,7 +288,7 @@
             if (newlen + 1 > len)
             {
                 len = newlen + 1;
-                if (type) HeapFree( GetProcessHeap(), 0, type );
+                HeapFree( GetProcessHeap(), 0, type );
                 if (!(type = HeapAlloc( GetProcessHeap(), 0, len ))) return FALSE;
             }
             WideCharToMultiByte( CP_ACP, 0, str->NameString, str->Length, type, len, NULL, NULL);
@@ -301,7 +301,7 @@
         }
         if (!ret) break;
     }
-    if (type) HeapFree( GetProcessHeap(), 0, type );
+    HeapFree( GetProcessHeap(), 0, type );
     return ret;
 }
 
@@ -337,7 +337,7 @@
             if (str->Length + 1 > len)
             {
                 len = str->Length + 1;
-                if (type) HeapFree( GetProcessHeap(), 0, type );
+                HeapFree( GetProcessHeap(), 0, type );
                 if (!(type = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ))) return FALSE;
             }
             memcpy(type, str->NameString, str->Length * sizeof (WCHAR));
@@ -350,7 +350,7 @@
         }
         if (!ret) break;
     }
-    if (type) HeapFree( GetProcessHeap(), 0, type );
+    HeapFree( GetProcessHeap(), 0, type );
     return ret;
 }
 
@@ -393,7 +393,7 @@
             if (newlen + 1 > len)
             {
                 len = newlen + 1;
-                if (name) HeapFree( GetProcessHeap(), 0, name );
+                HeapFree( GetProcessHeap(), 0, name );
                 if (!(name = HeapAlloc(GetProcessHeap(), 0, len + 1 )))
                 {
                     ret = FALSE;
@@ -411,7 +411,7 @@
         if (!ret) break;
     }
 done:
-    if (name) HeapFree( GetProcessHeap(), 0, name );
+    HeapFree( GetProcessHeap(), 0, name );
     if (HIWORD(typeW.Buffer)) HeapFree( GetProcessHeap(), 0, typeW.Buffer );
     if (status != STATUS_SUCCESS) SetLastError( RtlNtStatusToDosError(status) );
     return ret;
@@ -454,7 +454,7 @@
             if (str->Length + 1 > len)
             {
                 len = str->Length + 1;
-                if (name) HeapFree( GetProcessHeap(), 0, name );
+                HeapFree( GetProcessHeap(), 0, name );
                 if (!(name = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) )))
                 {
                     ret = FALSE;
@@ -472,7 +472,7 @@
         if (!ret) break;
     }
 done:
-    if (name) HeapFree( GetProcessHeap(), 0, name );
+    HeapFree( GetProcessHeap(), 0, name );
     if (HIWORD(typeW.Buffer)) HeapFree( GetProcessHeap(), 0, typeW.Buffer );
     if (status != STATUS_SUCCESS) SetLastError( RtlNtStatusToDosError(status) );
     return ret;
@@ -747,7 +747,7 @@
 done:
     if(!ret && current_updates)
     {
-        if(current_updates->pFileName) HeapFree(GetProcessHeap(), 0, current_updates->pFileName);
+        HeapFree(GetProcessHeap(), 0, current_updates->pFileName);
         GlobalUnlock(hUpdate);
         GlobalFree(hUpdate);
         hUpdate = NULL;
@@ -890,7 +890,7 @@
     {
         if(HIWORD(current_resource->lpType)) HeapFree(GetProcessHeap(), 0, current_resource->lpType);
         if(HIWORD(current_resource->lpName)) HeapFree(GetProcessHeap(), 0, current_resource->lpName);
-        if(current_resource->lpData) HeapFree(GetProcessHeap(), 0, current_resource->lpData);
+        HeapFree(GetProcessHeap(), 0, current_resource->lpData);
         HeapFree(GetProcessHeap(), 0, current_resource);
     }
     if(found) GlobalUnlock(hUpdate);
diff --git a/dlls/kernel/sync.c b/dlls/kernel/sync.c
index 9d54e9d..5b7a543 100644
--- a/dlls/kernel/sync.c
+++ b/dlls/kernel/sync.c
@@ -1532,8 +1532,7 @@
 
     handle = CreateMailslotW( name, nMaxMessageSize, lReadTimeout, sa );
 
-    if( name )
-        HeapFree( GetProcessHeap(), 0, name );
+    HeapFree( GetProcessHeap(), 0, name );
 
     return handle;
 }
@@ -1671,8 +1670,7 @@
 
     r = CreateJobObjectW( attr, str );
 
-    if( str )
-        HeapFree( GetProcessHeap(), 0, str );
+    HeapFree( GetProcessHeap(), 0, str );
 
     return r;
 }
diff --git a/dlls/kernel/tests/alloc.c b/dlls/kernel/tests/alloc.c
index 4c4a23e..f5777f0 100644
--- a/dlls/kernel/tests/alloc.c
+++ b/dlls/kernel/tests/alloc.c
@@ -77,9 +77,7 @@
     */
       mem1=HeapAlloc(heap,0,5*memchunk+1);
       ok(mem1==NULL,"HeapCreate allocated more Ram than it should have\n");
-      if(mem1) {
-        HeapFree(heap,0,mem1);
-      }
+      HeapFree(heap,0,mem1);
     }
 
 /* Check that a normal alloc works */
diff --git a/dlls/kernel/time.c b/dlls/kernel/time.c
index ecfab9b..4ad09b2 100644
--- a/dlls/kernel/time.c
+++ b/dlls/kernel/time.c
@@ -575,8 +575,7 @@
     ret = GetCalendarInfoW(lcid, Calendar, CalType, lpCalDataW, cchData, lpValue);
     if(ret && lpCalDataW && lpCalData)
       WideCharToMultiByte(CP_ACP, 0, lpCalDataW, cchData, lpCalData, cchData, NULL, NULL);
-    if(lpCalDataW)
-      HeapFree(GetProcessHeap(), 0, lpCalDataW);
+    HeapFree(GetProcessHeap(), 0, lpCalDataW);
 
     return ret;
 }
diff --git a/dlls/kernel/volume.c b/dlls/kernel/volume.c
index 7da60e3..50e0d7d 100644
--- a/dlls/kernel/volume.c
+++ b/dlls/kernel/volume.c
@@ -896,8 +896,8 @@
         if (fsname) FILE_name_WtoA( fsnameW, -1, fsname, fsname_len );
     }
 
-    if (labelW) HeapFree( GetProcessHeap(), 0, labelW );
-    if (fsnameW) HeapFree( GetProcessHeap(), 0, fsnameW );
+    HeapFree( GetProcessHeap(), 0, labelW );
+    HeapFree( GetProcessHeap(), 0, fsnameW );
     return ret;
 }
 
@@ -1011,7 +1011,7 @@
     if (root && !(rootW = FILE_name_AtoW( root, FALSE ))) return FALSE;
     if (volname && !(volnameW = FILE_name_AtoW( volname, TRUE ))) return FALSE;
     ret = SetVolumeLabelW( rootW, volnameW );
-    if (volnameW) HeapFree( GetProcessHeap(), 0, volnameW );
+    HeapFree( GetProcessHeap(), 0, volnameW );
     return ret;
 }
 
@@ -1092,7 +1092,7 @@
         }
         HeapFree( GetProcessHeap(), 0, path );
     }
-    if (target) HeapFree( GetProcessHeap(), 0, target );
+    HeapFree( GetProcessHeap(), 0, target );
     return ret;
 }
 
@@ -1108,7 +1108,7 @@
     if (!(devW = FILE_name_AtoW( devname, FALSE ))) return FALSE;
     if (targetpath && !(targetW = FILE_name_AtoW( targetpath, TRUE ))) return FALSE;
     ret = DefineDosDeviceW(flags, devW, targetW);
-    if (targetW) HeapFree( GetProcessHeap(), 0, targetW );
+    HeapFree( GetProcessHeap(), 0, targetW );
     return ret;
 }