[prev in list] [next in list] [prev in thread] [next in thread] 

List:       klik-devel
Subject:    [klik-devel] [klikclient commit] r1685 -
From:       codesite-noreply () google ! com
Date:       2008-08-29 15:45:45
Message-ID: 0015175ce05c8cc99804559b2562 () google ! com
[Download RAW message or body]

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@kde.org
https://mail.kde.org/mailman/listinfo/klik-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic