File icedtea6-1.9.4-realpath.patch of Package java-1_6_0-openjdk

Index: icedtea6-1.9.4/plugin/icedteanp/IcedTeaNPPlugin.cc
===================================================================
--- icedtea6-1.9.4.orig/plugin/icedteanp/IcedTeaNPPlugin.cc	2011-01-17 13:53:33.663627966 +0100
+++ icedtea6-1.9.4/plugin/icedteanp/IcedTeaNPPlugin.cc	2011-01-17 14:17:53.860000617 +0100
@@ -2076,6 +2076,7 @@
     }
   NPError np_error = NPERR_NO_ERROR;
   gchar* filename = NULL;
+  gchar* rfilename = NULL;
 
   // If P_tmpdir does not exist, try /tmp directly
 
@@ -2142,12 +2143,7 @@
       np_error = NPERR_GENERIC_ERROR;
       goto cleanup_data_directory;
     }
-  filename = (gchar*) malloc(sizeof(gchar)*1024);
-  filename_size = readlink(info.dli_fname, filename, 1023);
-  if (filename_size >= 0)
-  {
-      filename[filename_size] = '\0';
-  }
+  filename = (gchar*) malloc(sizeof(gchar)*PATH_MAX);
 
   if (!filename)
     {
@@ -2155,12 +2151,14 @@
       np_error = NPERR_OUT_OF_MEMORY_ERROR;
       goto cleanup_data_directory;
     }
-
-  if (filename_size <= 0)
+  
+  rfilename = realpath(info.dli_fname, filename);
+  if (!rfilename)
   {
       free(filename);
       filename = g_strdup(info.dli_fname);
   }
+  PLUGIN_DEBUG("realpath(\"%s\") == \"%s\"\n", info.dli_fname, filename);
 
   appletviewer_executable = g_strdup_printf ("%s/../../bin/java",
                                              dirname (filename));
openSUSE Build Service is sponsored by