Program: 44097
Project: 44097
Buggy source:
@Override public Cursor query(Uri uri,String[] projection,String selection,String[] selectionArgs,String sort){
  SQLiteQueryBuilder qb=new SQLiteQueryBuilder();
  SQLiteDatabase db=mOpenHelper.getReadableDatabase();
switch (cUriMatcher.match(uri)) {
case TASKS:
    qb.setTables(cTaskJoinTableNames);
  qb.setProjectionMap(sTaskListProjectMap);
break;
case TASK_ID:
qb.setTables(cTaskJoinTableNames);
qb.setProjectionMap(sTaskListProjectMap);
qb.appendWhere(cTaskTableName + "String_Node_Str" + uri.getPathSegments().get(1));
break;
case INBOX_TASKS:
qb.setTables(cTaskJoinTableNames);
qb.setProjectionMap(sTaskListProjectMap);
long lastCleanMS=Preferences.getLastInboxClean(getContext());
qb.appendWhere("String_Node_Str" + lastCleanMS + "String_Node_Str");
break;
case DUE_TASKS:
qb.setTables(cTaskJoinTableNames);
qb.setProjectionMap(sTaskListProjectMap);
int mode=Integer.parseInt(uri.getPathSegments().get(1));
long startMS=0L;
long endMS=getEndDate(mode);
qb.appendWhere("String_Node_Str");
qb.appendWhere("String_Node_Str" + startMS + "String_Node_Str");
qb.appendWhere("String_Node_Str" + endMS + "String_Node_Str");
break;
case TOP_TASKS:
qb.setTables(cTaskJoinTableNames);
qb.setProjectionMap(sTaskListProjectMap);
qb.appendWhere("String_Node_Str");
qb.appendWhere("String_Node_Str");
qb.appendWhere("String_Node_Str" + "String_Node_Str");
break;
case CONTEXTS:
qb.setTables(cContextTableName);
qb.setProjectionMap(sContextListProjectMap);
break;
case CONTEXT_ID:
qb.setTables(cContextTableName);
qb.appendWhere("String_Node_Str" + uri.getPathSegments().get(1));
break;
case CONTEXT_TASKS:
return db.rawQuery("String_Node_Str" + "String_Node_Str",null);
case PROJECTS:
qb.setTables(cProjectTableName);
qb.setProjectionMap(sProjectListProjectMap);
break;
case PROJECT_ID:
qb.setTables(cProjectTableName);
qb.appendWhere("String_Node_Str" + uri.getPathSegments().get(1));
break;
case PROJECT_TASKS:
return db.rawQuery("String_Node_Str" + "String_Node_Str",null);
case REMINDERS:
qb.setTables(cReminderTableName);
qb.setProjectionMap(sReminderListProjectMap);
break;
case REMINDER_ID:
qb.setTables(cReminderTableName);
qb.appendWhere("String_Node_Str" + uri.getPathSegments().get(1));
break;
default :
throw new IllegalArgumentException("String_Node_Str" + uri);
}
String orderBy;
if (TextUtils.isEmpty(sort)) {
switch (cUriMatcher.match(uri)) {
case TASKS:
case TASK_ID:
case INBOX_TASKS:
orderBy=Shuffle.Tasks.DEFAULT_SORT_ORDER;
break;
case TOP_TASKS:
orderBy=sTaskListProjectMap.get(Shuffle.Tasks.PROJECT_NAME) + "String_Node_Str";
break;
case DUE_TASKS:
orderBy=Shuffle.Tasks.DUE_DATE + "String_Node_Str";
break;
case CONTEXTS:
case CONTEXT_ID:
orderBy=Shuffle.Contexts.DEFAULT_SORT_ORDER;
break;
case PROJECTS:
case PROJECT_ID:
orderBy=Shuffle.Projects.DEFAULT_SORT_ORDER;
break;
case REMINDERS:
case REMINDER_ID:
orderBy=Shuffle.Reminders.DEFAULT_SORT_ORDER;
break;
default :
throw new IllegalArgumentException("String_Node_Str" + uri);
}
}
 else {
orderBy=sort;
}
if (Log.isLoggable(cTag,Log.DEBUG)) {
Log.d(cTag,"String_Node_Str" + selection + "String_Node_Str"+ Arrays.toString(selectionArgs)+ "String_Node_Str"+ orderBy);
}
Cursor c=qb.query(db,projection,selection,selectionArgs,null,null,orderBy);
c.setNotificationUri(getContext().getContentResolver(),uri);
return c;
}

Fixed version (ground truth):
@Override public Cursor query(Uri uri,String[] projection,String selection,String[] selectionArgs,String sort){
  SQLiteQueryBuilder qb=new SQLiteQueryBuilder();
  SQLiteDatabase db=mOpenHelper.getReadableDatabase();
switch (cUriMatcher.match(uri)) {
case TASKS:
    qb.setTables(cTaskJoinTableNames);
  qb.setProjectionMap(sTaskListProjectMap);
break;
case TASK_ID:
qb.setTables(cTaskJoinTableNames);
qb.setProjectionMap(sTaskListProjectMap);
qb.appendWhere(cTaskTableName + "String_Node_Str" + uri.getPathSegments().get(1));
break;
case INBOX_TASKS:
qb.setTables(cTaskJoinTableNames);
qb.setProjectionMap(sTaskListProjectMap);
long lastCleanMS=Preferences.getLastInboxClean(getContext());
qb.appendWhere("String_Node_Str" + lastCleanMS + "String_Node_Str");
break;
case DUE_TASKS:
qb.setTables(cTaskJoinTableNames);
qb.setProjectionMap(sTaskListProjectMap);
int mode=Integer.parseInt(uri.getPathSegments().get(1));
long startMS=0L;
long endMS=getEndDate(mode);
qb.appendWhere("String_Node_Str");
qb.appendWhere("String_Node_Str" + startMS + "String_Node_Str");
qb.appendWhere("String_Node_Str" + endMS + "String_Node_Str");
break;
case TOP_TASKS:
qb.setTables(cTaskJoinTableNames);
qb.setProjectionMap(sTaskListProjectMap);
qb.appendWhere("String_Node_Str");
qb.appendWhere("String_Node_Str");
qb.appendWhere("String_Node_Str" + "String_Node_Str");
break;
case CONTEXTS:
qb.setTables(cContextTableName);
qb.setProjectionMap(sContextListProjectMap);
break;
case CONTEXT_ID:
qb.setTables(cContextTableName);
qb.appendWhere("String_Node_Str" + uri.getPathSegments().get(1));
break;
case CONTEXT_TASKS:
return db.rawQuery("String_Node_Str" + "String_Node_Str",null);
case PROJECTS:
qb.setTables(cProjectTableName);
qb.setProjectionMap(sProjectListProjectMap);
break;
case PROJECT_ID:
qb.setTables(cProjectTableName);
qb.appendWhere("String_Node_Str" + uri.getPathSegments().get(1));
break;
case PROJECT_TASKS:
return db.rawQuery("String_Node_Str" + "String_Node_Str",null);
case REMINDERS:
qb.setTables(cReminderTableName);
qb.setProjectionMap(sReminderListProjectMap);
break;
case REMINDER_ID:
qb.setTables(cReminderTableName);
qb.appendWhere("String_Node_Str" + uri.getPathSegments().get(1));
break;
default :
throw new IllegalArgumentException("String_Node_Str" + uri);
}
String orderBy;
if (TextUtils.isEmpty(sort)) {
switch (cUriMatcher.match(uri)) {
case TASKS:
case TASK_ID:
case INBOX_TASKS:
orderBy=Shuffle.Tasks.DEFAULT_SORT_ORDER;
break;
case TOP_TASKS:
orderBy=sTaskListProjectMap.get(Shuffle.Tasks.PROJECT_NAME) + "String_Node_Str";
break;
case DUE_TASKS:
orderBy=Shuffle.Tasks.START_DATE + "String_Node_Str";
break;
case CONTEXTS:
case CONTEXT_ID:
orderBy=Shuffle.Contexts.DEFAULT_SORT_ORDER;
break;
case PROJECTS:
case PROJECT_ID:
orderBy=Shuffle.Projects.DEFAULT_SORT_ORDER;
break;
case REMINDERS:
case REMINDER_ID:
orderBy=Shuffle.Reminders.DEFAULT_SORT_ORDER;
break;
default :
throw new IllegalArgumentException("String_Node_Str" + uri);
}
}
 else {
orderBy=sort;
}
if (Log.isLoggable(cTag,Log.DEBUG)) {
Log.d(cTag,"String_Node_Str" + selection + "String_Node_Str"+ Arrays.toString(selectionArgs)+ "String_Node_Str"+ orderBy);
}
Cursor c=qb.query(db,projection,selection,selectionArgs,null,null,orderBy);
c.setNotificationUri(getContext().getContentResolver(),uri);
return c;
}