Bug#611195: vlc-nox: generating plugin cache at postinst segfaults on PaX kernel

Pierre Ynard linkfanel at yahoo.fr
Thu Jan 27 12:54:20 UTC 2011


reassign 611195 libc6
tags 611195 + patch
thanks

> so there you have it in a nutshell. probably the quickest 'fix' is to
> at least add a check for mprotect's return value

I wrote a patch that should fix the segfault. I couldn't test it because
I don't have an appropriate environment to rebuild eglibc and test the
issue.


--- elf/dl-load.c	2011-01-26 22:02:02.000000000 +0100
+++ elf/dl-load.c	2011-01-26 22:30:22.000000000 +0100
@@ -1398,7 +1398,11 @@
 	  if (__builtin_expect (p + s <= relro_end, 1))
 	    {
 	      /* The variable lies in the region protected by RELRO.  */
-	      __mprotect ((void *) p, s, PROT_READ|PROT_WRITE);
+	      if (__mprotect ((void *) p, s, PROT_READ|PROT_WRITE) < 0)
+		{
+		  errstring = N_("cannot change memory protections");
+		  goto call_lose_errno;
+		}
 	      __stack_prot |= PROT_READ|PROT_WRITE|PROT_EXEC;
 	      __mprotect ((void *) p, s, PROT_READ);
 	    }


Regards,

-- 
Pierre Ynard
"Une âme dans un corps, c'est comme un dessin sur une feuille de papier."





More information about the pkg-multimedia-maintainers mailing list