[klikclient commit] r1685 - branches/cristian/fusioniso/fusioniso/src

View: New views
1 Messages — Rating Filter:   Alert me  

[klikclient commit] r1685 - branches/cristian/fusioniso/fusioniso/src

by codesite-noreply :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Author: lionel.tricon
Date: Fri Aug 29 08:44:30 2008
New Revision: 1685

Modified:
    branches/cristian/fusioniso/fusioniso/src/fusioniso_fs.c
    branches/cristian/fusioniso/fusioniso/src/fusioniso_fs.h

Log:
Improved the way we detect ELF binaries by using elf.h


Modified: branches/cristian/fusioniso/fusioniso/src/fusioniso_fs.c
==============================================================================
--- branches/cristian/fusioniso/fusioniso/src/fusioniso_fs.c (original)
+++ branches/cristian/fusioniso/fusioniso/src/fusioniso_fs.c Fri Aug 29  
08:44:30 2008
@@ -972,7 +972,7 @@
              lseek(v_file, offset, SEEK_SET);
              v_count = read(v_file, out_buf, size);
              close(v_file);
-            if (data->glibc && offset==0 && v_count>18 && out_buf[0]==127  
&& memcmp(&(out_buf[1]), "ELF",3)==0)
+            if (extern_glibc && offset==0 && v_count>18 && memcmp(out_buf,  
ELFMAG, SELFMAG)==0 && out_buf[16]==ET_EXEC)
              {
                  fs_rewrite_loader(out_buf, v_count);
              }
@@ -987,7 +987,7 @@
              lseek(v_file, offset, SEEK_SET);
              v_count = read(v_file, out_buf, size);
              close(v_file);
-            if (data->glibc && offset==0 && v_count>18 && out_buf[0]==127  
&& memcmp(&(out_buf[1]), "ELF",3)==0)
+            if (extern_glibc && offset==0 && v_count>18 && memcmp(out_buf,  
ELFMAG, SELFMAG)==0 && out_buf[16]==ET_EXEC)
              {
                  fs_rewrite_loader(out_buf, v_count);
              }
@@ -1016,7 +1016,7 @@
  if (v_count<0)
  return -EINVAL;

-        if (data->glibc && offset==0 && v_count>18 && out_buf[0]==127 &&  
memcmp(&(out_buf[1]), "ELF",3)==0)
+        if (extern_glibc && offset==0 && v_count>18 && memcmp(out_buf,  
ELFMAG, SELFMAG)==0 && out_buf[16]==ET_EXEC)
          {
              fs_rewrite_loader(out_buf, v_count);
          }
@@ -1084,7 +1084,7 @@
      }

      free(buf);
-    if (data->glibc && total_size>18 && offset==0 && out_buf[0]==127 &&  
memcmp(&(out_buf[1]), "ELF",3)==0)
+    if (extern_glibc && offset==0 && v_count>18 && memcmp(out_buf, ELFMAG,  
SELFMAG)==0 && out_buf[16]==ET_EXEC)
      {
          fs_rewrite_loader(out_buf, total_size);
      }

Modified: branches/cristian/fusioniso/fusioniso/src/fusioniso_fs.h
==============================================================================
--- branches/cristian/fusioniso/fusioniso/src/fusioniso_fs.h (original)
+++ branches/cristian/fusioniso/fusioniso/src/fusioniso_fs.h Fri Aug 29  
08:44:30 2008
@@ -33,7 +33,7 @@
  #include <sys/stat.h>
  #include <sys/statfs.h> // fix fs_real_statfs and include sys/statvfs.h
  #include <sys/types.h>
-
+#include <elf.h>

  #define PAGE_CACHE_SIZE (4096)  // unused

_______________________________________________
klik-devel mailing list
klik-devel@...
https://mail.kde.org/mailman/listinfo/klik-devel