Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6559115
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T13:16:59+00:00 2026-05-25T13:16:59+00:00

I use this method for doing malloc over a 2d array, my sources are

  • 0

I use this method for doing malloc over a 2d array, my sources are
http://c-faq.com/aryptr/dynmuldimary.html and Modify malloc strategy for 2D Array so malloc succeeds:

int
main(int argc, char *argv[])
{
    long **array = NULL;

    array = malloc(5 * sizeof(long *));
    for (int i = 0; i < 5; i++)
        array[i] = malloc(3 * sizeof(long));

    array[4][2] = 515;
    array[4][3] = 212;
    array[4][10000] = 3;

    printf("%ld\n", array[4][10000]);

    return 0;
}

My question is,
Why don’t I get a segmentation fault in the execution of any of the last three lines before the return? Is it safe (ignoring the inexistence of free)?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T13:17:00+00:00Added an answer on May 25, 2026 at 1:17 pm

    The operating system allocates memory to an application in pages (typically 4 KB). For efficiency, it is possible to use Huge Pages (e.g. 2 MB)

    The first page 0 is never allocated and if you ever try to access it you get a segmentation fault. e.g. accessing any pointer from 0 – 4095 will get a segmentation fault on most systems.

    However, once a page has been allocated to you, you can read and write any part of that page without a segmentation fault. (Code pages are usually protected from writes)

    When you use malloc it makes sure that the pages you need are there. However you could just access the memory you have and change any way you like. (Assuming you knew how much that was)

    Generally, this is more dangerous than useful, but it may help explain why accessing memory in an invalid way doesn’t guarantee a segmentation fault.

    Note: malloc has a small structure e.g. 8 bytes, at the start of each allocated block of memory before the block itself, if you corrupt this then malloc and free will not work correctly.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Trying to use this method (gist of which is use self.method_name in the FunnyHelper
actually i use this method to show similar words for a search request.. $query
I'd like to use this method to create user-friendly URL. Because my site is
When I use the this method to initialize a UITabBarItem : - (id)initWithTitle:(NSString *)title
We use this small utility method. But we don't like it. Since it's not
I have this method call I have to use... financial_document.assets.length But financial_document.assets could be
I'd like to be able to use this.type to define a method that makes
I'm trying to use the this keyword in a static method, but the compiler
Is there a standard method I can use in place of this custom method?
trying to use this route: from(activemq:profiles).aggregate(header(cheese)).batchSize(30).bean(ProfilesQueueService, saveContacts) Fails with: No signature of method: org.apache.camel.model.RouteType.aggregate()

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.