Program: 14814
Project: 14814
Buggy source:
@Override protected String doInBackground(Post... params){
  String result=null;
  post=params[0];
  if (post == null)   return null;
  Blog blog=WordPress.currentBlog;
  XMLRPCClientInterface client=XMLRPCFactory.instantiate(blog.getUri(),blog.getHttpuser(),blog.getHttppassword());
  Object versionResult=new Object();
  try {
    if (mIsPage) {
      Object[] vParams={WordPress.currentBlog.getRemoteBlogId(),post.getPostid(),WordPress.currentBlog.getUsername(),WordPress.currentBlog.getPassword()};
      versionResult=(Object)client.call("String_Node_Str",vParams);
    }
 else {
      Object[] vParams={post.getPostid(),WordPress.currentBlog.getUsername(),WordPress.currentBlog.getPassword()};
      versionResult=(Object)client.call("String_Node_Str",vParams);
    }
  }
 catch (  XMLRPCException e) {
    AppLog.e(AppLog.T.POSTS,e);
    mErrorMsg=getResources().getText(R.string.error_generic).toString();
    return null;
  }
catch (  IOException e) {
    AppLog.e(AppLog.T.POSTS,e);
    mErrorMsg=getResources().getText(R.string.error_generic).toString();
    return null;
  }
catch (  XmlPullParserException e) {
    AppLog.e(AppLog.T.POSTS,e);
    mErrorMsg=getResources().getText(R.string.error_generic).toString();
    return null;
  }
  if (versionResult != null) {
    try {
      Map<?,?> contentHash=(Map<?,?>)versionResult;
      if ((mIsPage && !"String_Node_Str".equals(contentHash.get("String_Node_Str").toString())) || (!mIsPage && !"String_Node_Str".equals(contentHash.get("String_Node_Str").toString()))) {
        if (mIsPage) {
          mErrorMsg=getString(R.string.page_not_published);
        }
 else {
          mErrorMsg=getString(R.string.post_not_published);
        }
        return null;
      }
 else {
        String postURL=contentHash.get("String_Node_Str").toString();
        String shortlink=getShortlinkTagHref(postURL);
        if (shortlink == null) {
          result=postURL;
        }
 else {
          result=shortlink;
        }
      }
    }
 catch (    Exception e) {
      mErrorMsg=getResources().getText(R.string.error_generic).toString();
      return null;
    }
  }
  return result;
}

Fixed version (ground truth):
@Override protected String doInBackground(Post... params){
  String result=null;
  post=params[0];
  if (post == null)   return null;
  Blog blog=WordPress.currentBlog;
  XMLRPCClientInterface client=XMLRPCFactory.instantiate(blog.getUri(),blog.getHttpuser(),blog.getHttppassword());
  Object getPostResult;
  try {
    Object[] vParams={WordPress.currentBlog.getRemoteBlogId(),post.getRemotePostId(),WordPress.currentBlog.getUsername(),WordPress.currentBlog.getPassword()};
    getPostResult=client.call(mIsPage ? "String_Node_Str" : "String_Node_Str",vParams);
  }
 catch (  XMLRPCException e) {
    AppLog.e(AppLog.T.POSTS,e);
    mErrorMsg=getResources().getText(R.string.error_generic).toString();
    return null;
  }
catch (  IOException e) {
    AppLog.e(AppLog.T.POSTS,e);
    mErrorMsg=getResources().getText(R.string.error_generic).toString();
    return null;
  }
catch (  XmlPullParserException e) {
    AppLog.e(AppLog.T.POSTS,e);
    mErrorMsg=getResources().getText(R.string.error_generic).toString();
    return null;
  }
  if (getPostResult != null && getPostResult instanceof Map) {
    try {
      Map<?,?> postMap=(Map<?,?>)getPostResult;
      String postStatus=MapUtils.getMapStr(postMap,mIsPage ? "String_Node_Str" : "String_Node_Str");
      if (!"String_Node_Str".equals(postStatus)) {
        if (mIsPage) {
          mErrorMsg=getString(R.string.page_not_published);
        }
 else {
          mErrorMsg=getString(R.string.post_not_published);
        }
        return null;
      }
 else {
        String postUrl=MapUtils.getMapStr(postMap,"String_Node_Str");
        String shortlink=getShortlinkTagHref(postUrl);
        if (shortlink == null) {
          result=postUrl;
        }
 else {
          result=shortlink;
        }
      }
    }
 catch (    Exception e) {
      mErrorMsg=getResources().getText(R.string.error_generic).toString();
      return null;
    }
  }
  return result;
}