In this paper, a new adaptive beamforming algorithm with joint robustness against covariance matrix uncertainty as well as steering vector mismatch is proposed. First, the theoretical covariance matrix is estimated based on the shrinkage method. Subsequently, the difference between the actual and the presumed steering vector is estimated by solving a quadratic convex optimization problem, which enables correction of the presumed steering vector. Unlike other robust beamforming techniques, neither the norm of the steering vector nor the upper bound of the norm of the mismatch vector is assumed in our approach. Simulation results show the effectiveness of the proposed algorithm both in terms of output performance and computational complexity.