{"id":5016,"date":"2022-08-25T22:50:38","date_gmt":"2022-08-25T17:20:38","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/"},"modified":"2022-08-25T22:50:38","modified_gmt":"2022-08-25T17:20:38","slug":"solved-pointer-being-freed-was-not-allocated-in-c","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/","title":{"rendered":"[Solved] pointer being freed was not allocated in C"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-38540493\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"38540493\" data-parentid=\"38540414\" data-score=\"3\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>You assigned <code>outputMessage<\/code>, which is an array and is converted to a pointer to the first element of the array, to <code>messagePtr<\/code>, so <code>messagePtr<\/code> no longer points at what is allcated via <code>malloc()<\/code> or its family.<\/p>\n<p>Passing what is not <code>NULL<\/code> and is not allocated via memory management functions such as <code>malloc()<\/code> invokes <em>undefined behavior<\/em>. (<a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/chimera.roma1.infn.it\/SP\/COMMON\/iso-iec-9899-1990.pdf\">N1570<\/a> 7.22.3.3 The free function)<\/p>\n<p>Note that they say you shouldn&#8217;t cast the result of <code>malloc()<\/code> in C.<\/p>\n<p>Some of your options are:<\/p>\n<p>1. Stop using <code>malloc()<\/code> for allocating buffer that will be thrown away.<\/p>\n<pre><code>#include &lt;stdio.h&gt;\n#include &lt;string.h&gt;\n#include &lt;stdlib.h&gt;\n\nstatic char * messagePtr;\n\nint main()\n{\n\n    \/\/ \/\/gameLoop();\n    char outputMessage[50] = \"\";\n    messagePtr = outputMessage;\n\n    messagePtr = NULL;\n\n    return 0;\n}\n<\/code><\/pre>\n<p>2. Free the buffer <em>before<\/em> throwing it away.<\/p>\n<pre><code>#include &lt;stdio.h&gt;\n#include &lt;string.h&gt;\n#include &lt;stdlib.h&gt;\n\nstatic char * messagePtr;\n\nint main()\n{\n\n    messagePtr = malloc(sizeof(char) * 800);\n    if(messagePtr == NULL) {\n       printf(\"Bad malloc error\\n\");\n       exit(1);\n    }\n\n\n    \/\/ \/\/gameLoop();\n    free(messagePtr);\n    char outputMessage[50] = \"\";\n    messagePtr = outputMessage;\n\n    messagePtr = NULL;\n\n    return 0;\n}\n<\/code><\/pre>\n<p>3. Use <code>strcpy()<\/code> to copy strings.<\/p>\n<pre><code>#include &lt;stdio.h&gt;\n#include &lt;string.h&gt;\n#include &lt;stdlib.h&gt;\n\nstatic char * messagePtr;\n\nint main()\n{\n\n    messagePtr = malloc(sizeof(char) * 800);\n    if(messagePtr == NULL) {\n       printf(\"Bad malloc error\\n\");\n       exit(1);\n    }\n\n\n    \/\/ \/\/gameLoop();\n    char outputMessage[50] = \"\";\n    strcpy(messagePtr, outputMessage);\n\n    free(messagePtr);\n    messagePtr = NULL;\n\n    return 0;\n}\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">1<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved pointer being freed was not allocated in C <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] You assigned outputMessage, which is an array and is converted to a pointer to the first element of the array, to messagePtr, so messagePtr no longer points at what is allcated via malloc() or its family. Passing what is not NULL and is not allocated via memory management functions such as malloc() invokes undefined &#8230; <a title=\"[Solved] pointer being freed was not allocated in C\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/\" aria-label=\"More on [Solved] pointer being freed was not allocated in C\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,1203],"class_list":["post-5016","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-clang"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] pointer being freed was not allocated in C - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] pointer being freed was not allocated in C - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] You assigned outputMessage, which is an array and is converted to a pointer to the first element of the array, to messagePtr, so messagePtr no longer points at what is allcated via malloc() or its family. Passing what is not NULL and is not allocated via memory management functions such as malloc() invokes undefined ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-25T17:20:38+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] pointer being freed was not allocated in C\",\"datePublished\":\"2022-08-25T17:20:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/\"},\"wordCount\":112,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"clang\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/\",\"name\":\"[Solved] pointer being freed was not allocated in C - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-08-25T17:20:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] pointer being freed was not allocated in C\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] pointer being freed was not allocated in C - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] pointer being freed was not allocated in C - JassWeb","og_description":"[ad_1] You assigned outputMessage, which is an array and is converted to a pointer to the first element of the array, to messagePtr, so messagePtr no longer points at what is allcated via malloc() or its family. Passing what is not NULL and is not allocated via memory management functions such as malloc() invokes undefined ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/","og_site_name":"JassWeb","article_published_time":"2022-08-25T17:20:38+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] pointer being freed was not allocated in C","datePublished":"2022-08-25T17:20:38+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/"},"wordCount":112,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","clang"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/","url":"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/","name":"[Solved] pointer being freed was not allocated in C - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-08-25T17:20:38+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-pointer-being-freed-was-not-allocated-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] pointer being freed was not allocated in C"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/5016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=5016"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/5016\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=5016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=5016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=5016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}