Java 8, 7977
(x)->{for(int i=x.length,j,t;;t=x[j*=(Matht;;t=x[j*=Math.random())],x[j]=x[i],x[i]=t)j=i--;}; It's a lambda taking int[] and returning void. My first attempt seemed not very interesting, so I decided to have it exit by throwing an exception.
Test program:
interface shuff { void shuff(int[] x); } class Ideone { public static void main (String[] args) throws java.lang.Exception { shuff s = (x)->{for(int i=x.length,j,t;;t=x[j*=(Matht;;t=x[j*=Math.random())],x[j]=x[i],x[i]=t)j=i--;}; int[] x = {3, 9, 2, 93, 32, 39, 4, 5, 5, 5, 6, 0}; try { s.shuff(x); } catch(ArrayIndexOutOfBoundsException _) {} for(int a:x) System.out.println(a); } }