मैं एक होमवर्क असाइनमेंट मुझसे पूछे स्पष्ट रूप से इसे बुला, बफर अतिप्रवाह का उपयोग किए बिना एक समारोह आह्वान करने के लिए मिला है। कोड मूल रूप से यह है:मैं बफर ओवरफ़्लो कैसे आ सकता हूं?
#include <stdio.h>
#include <stdlib.h>
void g()
{
printf("now inside g()!\n");
}
void f()
{
printf("now inside f()!\n");
// can only modify this section
// cant call g(), maybe use g (pointer to function)
}
int main (int argc, char *argv[])
{
f();
return 0;
}
हालांकि मुझे यकीन नहीं है कि कैसे आगे बढ़ना है। मैंने प्रोग्राम काउंटर के लिए रिटर्न पता बदलने के बारे में सोचा ताकि यह सीधे जी() के पते पर आगे बढ़े, लेकिन मुझे यकीन नहीं है कि इसे कैसे एक्सेस किया जाए। वैसे भी, सुझाव बहुत अच्छा होगा।
4 upvotes! ओपी भी सवाल के साथ नहीं आया ... वाह, कुछ लोग आसानी से प्रभावित हुए हैं। – Lazarus
@ लाज़र, मैंने आपकी टिप्पणी को ऊपर उठाया। उह ओह!:-) –
@ लाज़र यह तथ्य है कि यह एक होमवर्क प्रश्न है, इस तथ्य से कोई लेना देना नहीं है कि मुझे यह दिलचस्प लगता है। मैंने इसे भी ऊपर उठाया क्योंकि मैं सरल होमवर्क सवालों को सरल बनाने के बजाय प्रोत्साहित करना चाहता हूं "मैंने फ़ाइल बफर बंद कर दिया और अब जब मैं फ़ाइल से पढ़ने का प्रयास करता हूं तो यह काम नहीं करता है। क्यों?" (दूसरे शब्दों में, मैं सवाल मैं करने के लिए उत्तर नहीं पता वोट दें, लेकिन करना चाहते हैं), LOL – Yacoby