In the device-to-device (D2D) communications, the strong mutual interference between the uplink cellular users (CUs) and D2D pairs is fatal to its successful application. It is well known that a well designed Stackelberg game approach can alleviate the impact of the mutual interference. However, in the general game-based approaches, a stronger protection mechanism for CUs is lacked, especially for the uplink spectrum sharing problem. Thus, in this paper, we incorporate the capacity- oriented restricted (CORE) region into the conventional Stackelberg game approach such that the CUs can be well protected. Moreover, to fully utilize the CUs' resource, the conventional capacity oriented resource allocation (CORAL) sub- algorithm is applied to boost the D2D pair's capacity. By combining these three techniques, we propose the fairness-and-safety capacity oriented resource allocation (FAST CORAL) scheme. Via the simulation results, the superior performance of the overall system capacity is demonstrated.