Program: 57755
Project: 57755
Buggy source:
public int doSolutionOnline(MainActivity activity){
  String str1=SystemProperties.get("String_Node_Str");
  if (TextUtils.isEmpty(str1))   str1="String_Node_Str";
  String str2=Build.MODEL;
  if (TextUtils.isEmpty(str2))   str2="String_Node_Str";
  String str3="String_Node_Str";
  if ((!TextUtils.isEmpty(SystemProperties.get("String_Node_Str"))) || (!TextUtils.isEmpty(SystemProperties.get("String_Node_Str"))))   str3="String_Node_Str";
  String str4=com.qihoo.permmgr.util.k.a(mContext);
  String str5=com.qihoo.permmgr.util.f.a(str4);
  if (TextUtils.isEmpty(str4))   str5="String_Node_Str";
  File localFile=new File("String_Node_Str");
  String[] arrayOfString=new String[2];
  arrayOfString[0]="String_Node_Str";
  arrayOfString[1]="String_Node_Str";
  String str6=com.qihoo.permmgr.util.b.a(localFile,arrayOfString);
  String str7=str6.split("String_Node_Str")[2];
  String str8="String_Node_Str" + URLEncoder.encode(str2) + "String_Node_Str"+ URLEncoder.encode(str7)+ "String_Node_Str"+ URLEncoder.encode(str1)+ "String_Node_Str"+ URLEncoder.encode(str3);
  String url="String_Node_Str" + str8 + "String_Node_Str"+ a.e+ "String_Node_Str"+ URLEncoder.encode(str5)+ "String_Node_Str"+ 1+ "String_Node_Str";
  try {
    HttpGet localHttpGet2=new HttpGet(url);
    HttpResponse localHttpResponse=new DefaultHttpClient().execute(localHttpGet2);
    int statusCode=localHttpResponse.getStatusLine().getStatusCode();
    String jsonData=AESUtils.b(EntityUtils.toString(localHttpResponse.getEntity()));
    JSONArray arr=new JSONArray(jsonData);
    byte[] bs=new byte[1024];
    int len;
    for (int i=0; i < arr.length(); i++) {
      JSONObject temp=(JSONObject)arr.get(i);
      String md5=temp.getString("String_Node_Str");
      String solution=temp.getString("String_Node_Str");
      activity.setStatus("String_Node_Str" + solution);
      URL sUrl=new URL(solution);
      URLConnection con=sUrl.openConnection();
      InputStream is=con.getInputStream();
      String md5FilePath=mContext.getFilesDir().getAbsoluteFile() + "String_Node_Str" + md5;
      OutputStream os=new FileOutputStream(md5FilePath);
      while ((len=is.read(bs)) != -1) {
        os.write(bs,0,len);
      }
      os.close();
      is.close();
      if (RootMan.getInstance(mContext).doRoot(md5FilePath) == Constants.ROOT_SUCCESS) {
        return Constants.ROOT_SUCCESS;
      }
    }
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
  return Constants.NOTSUPPORT;
}

Fixed version (ground truth):
public int doSolutionOnline(MainActivity activity){
  String str1=SystemProperties.get("String_Node_Str");
  if (TextUtils.isEmpty(str1))   str1="String_Node_Str";
  String str2=Build.MODEL;
  if (TextUtils.isEmpty(str2))   str2="String_Node_Str";
  String str3="String_Node_Str";
  if ((!TextUtils.isEmpty(SystemProperties.get("String_Node_Str"))) || (!TextUtils.isEmpty(SystemProperties.get("String_Node_Str"))))   str3="String_Node_Str";
  String str4=com.qihoo.permmgr.util.k.a(mContext);
  String str5=com.qihoo.permmgr.util.f.a(str4);
  if (TextUtils.isEmpty(str4))   str5="String_Node_Str";
  File localFile=new File("String_Node_Str");
  String[] arrayOfString=new String[2];
  arrayOfString[0]="String_Node_Str";
  arrayOfString[1]="String_Node_Str";
  String str6=com.qihoo.permmgr.util.b.a(localFile,arrayOfString);
  String str7=str6.split("String_Node_Str")[2];
  String str8="String_Node_Str" + URLEncoder.encode(str2) + "String_Node_Str"+ URLEncoder.encode(str7)+ "String_Node_Str"+ URLEncoder.encode(str1)+ "String_Node_Str"+ URLEncoder.encode(str3);
  String url="String_Node_Str" + str8 + "String_Node_Str"+ a.e+ "String_Node_Str"+ URLEncoder.encode(str5)+ "String_Node_Str"+ 1+ "String_Node_Str";
  Log.d(TAG,"String_Node_Str" + url);
  try {
    HttpGet localHttpGet2=new HttpGet(url);
    HttpResponse localHttpResponse=new DefaultHttpClient().execute(localHttpGet2);
    int statusCode=localHttpResponse.getStatusLine().getStatusCode();
    String jsonData=AESUtils.b(EntityUtils.toString(localHttpResponse.getEntity()));
    JSONArray arr=new JSONArray(jsonData);
    byte[] bs=new byte[1024];
    int len;
    for (int i=0; i < arr.length(); i++) {
      JSONObject temp=(JSONObject)arr.get(i);
      String md5=temp.getString("String_Node_Str");
      String solution=temp.getString("String_Node_Str");
      activity.setStatus("String_Node_Str" + solution + "String_Node_Str");
      URL sUrl=new URL(solution);
      URLConnection con=sUrl.openConnection();
      InputStream is=con.getInputStream();
      String md5FilePath=mContext.getFilesDir().getAbsoluteFile() + "String_Node_Str" + md5;
      OutputStream os=new FileOutputStream(md5FilePath);
      while ((len=is.read(bs)) != -1) {
        os.write(bs,0,len);
      }
      os.close();
      is.close();
      activity.setStatus("String_Node_Str" + md5 + "String_Node_Str");
      if (RootMan.getInstance(mContext).doRoot(md5FilePath) == Constants.ROOT_SUCCESS) {
        SharedStore store=new SharedStore(mContext,Constants.SOLUTION_FILE);
        store.putString(Constants.KEY_SOLUTION_MD5,md5);
        return Constants.ROOT_SUCCESS;
      }
    }
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
  return Constants.NOTSUPPORT;
}